session怎么才能真正注销呢

解决方案 »

  1.   

    HttpSession session = request.getSession(false);   
    session.invalidate();   
    response.setHeader("Pragma", "No-cache");   
    response.setHeader("Cache-Control", "no-cache");   
    response.setDateHeader("Expires", 0);   
    // 跳转到初始登录界面   
    response.sendRedirect("login.jsp");   
      

  2.   


    核心就这么一句话(一般在logout页面使用):
      session.invalidate();
    另外会话超时(默认30分钟)后也会被中间件自动销毁。
    如果想监控会话销毁时的情况,可以注册监听器 HttpSessionListener 到web.xml中:
    <listener>
      <listener-class>xxoo.xxoo.MySessio0nListener</listener-class>
    </listener>
    具体参见:
    http://www.cnblogs.com/shencheng/archive/2011/01/07/1930227.html
      

  3.   

    session.invalidate();  这个事销毁所有SESSIONresponse.setHeader("Pragma", "No-cache");   
    response.setHeader("Cache-Control", "no-cache");   
    response.setDateHeader("Expires", 0);  这几句是清空缓存的  如果没有这几句的话你注销完再点击IE的后退键 SESSION的值还会出现,建议把这几句写到JSP页面里  用小脚本<%%>,这样写肯定是不规范的,小脚本出现的越少越好  但是我写到SERVLET又不管用,所以这是个人建议