Java:具有servlet和缓存控制的注销功能

时间:2013-10-17 05:44:17

标签: java security servlets logout

以下代码是我的servlet。我使用doFilter()进行缓存控制,使用doPost()使会话无效并重定向到登录页面。后退按钮问题仍然存在。谁能说出我做错了什么?在你投票之前请告诉我原因! 提前致谢。

 public class LogoutServlet extends HttpServlet implements Servlet, Filter{

 @Override
  public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)   throws IOException, ServletException {

       HttpServletResponse hsr = (HttpServletResponse) res;
       hsr.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
       hsr.setHeader("Pragma", "no-cache"); // HTTP 1.0.
       hsr.setDateHeader("Expires", 0); // Proxies.
      chain.doFilter(req, res);
   }

 @Override
  protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

   }


 @Override
 protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {


          HttpSession session = request.getSession(false); 
            session.invalidate();
            response.sendRedirect("login.jsp");

  }

  @Override
  public void init(FilterConfig filterConfig) throws ServletException {
      throw new UnsupportedOperationException("Not supported yet.");
  }
}

0 个答案:

没有答案