session.invalidate方法正在重新加载后退按钮

时间:2015-06-15 07:15:36

标签: session servlets

在我的项目中,我使用HttpSession来维护用户状态。当我点击注销servlet的链接并成功注销但如果我按回按钮它会再次重新加载配置文件页面。

LogoutServlet.java

HttpSession session=request.getSession(false);
session.invalidate();
response.sendRedirect("index.html");

LoginServlet.java

    HttpSession session=request.getSession();
    session.setAttribute("userName",u);

1 个答案:

答案 0 :(得分:0)

我可以想象出三个可能的原因:

  • 您使用的是单点登录系统(类似CAS),当您关闭会话时会自动重新连接=>在这种情况下,您明确地断开与SSO的连接(不是最常见的问题)
  • 浏览器的后退按钮显示页面的缓存版本。您可以通过询问页面的完整刷新来确认 - 通常Ctrl-F5会这样做,但您会在wikipedia =>上找到更多参考文献。在这种情况下,除了控制浏览器上的缓存配置和页面的缓存参数(HTTP标头Expire)之外,你不能做更多的事情。
  • 该网址包含对用户的引用,可公开访问:显示正常=>如果您不希望这样,您应该只对登录用户访问该页面。