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

Java:具有servlet和缓存控制的注销功能,java,security,servlets,logout,Java,Security,Servlets,Logout,下面的代码是我的servlet。我使用doFilter()进行缓存控制,并使用doPost()使会话无效并重定向到登录页面。后退按钮问题仍然存在。有人能说出我做错了什么吗?请在你否决投票前告诉我原因! 提前谢谢 public class LogoutServlet extends HttpServlet implements Servlet, Filter{ @Override public void doFilter(ServletRequest req, ServletRespon

下面的代码是我的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.");
  }
}

我不知道你是如何做到这一点的:但这个问题没有标题,你不能点击它:问题似乎已经消失了。真的很奇怪。好吧,我的问题有什么解决办法吗?你看到的后退按钮问题是什么?一旦您使会话无效,所有受保护的URL都应该将用户重定向到登录页面。重定向工作正常。问题是,即使在注销后按“后退”按钮,也可以返回到安全页面。就像经典问题一样。