<!-- 退出登录处理 -->
<%
session.invalidate();
response.setHeader( "Cache-Control ", "no-store ");  
response.setHeader( "Pragrma ", "no-cache ");  
response.setDateHeader( "Expires ",0);  
response.sendRedirect("../login.jsp");
%>
点击退出后,再点击后退用户还是存在!
在网上找了下,还是没有解决根本原因~~~~~
求解,学习学习~~~
谢谢啦

解决方案 »

  1.   

     加上 session.invalidate(); 当前用户的session就会过期。
      

  2.   

    试试在<head>里边加上这个试试:
    <META http-equiv=Pragma content=no-cache>
    <META http-equiv=Cache-Control content=no-cache>
    <META http-equiv=Expires content=-1000>
      

  3.   

    限制IE的后退按钮,同时注销SESSION,后退就显示页面过期
      

  4.   

    好像需要remove,invalid似乎只能使其失效,但是该session还是在的吧?
      

  5.   

    把你当前登陆了的用户从session中清除嘛
      

  6.   

    8楼说的应该没错,它只能使其失效,如果要验证登录的话,最好是住SESSION中设置属性,
      

  7.   

    晕,session你要清空啊,无语,你直接调用代码,removesession后面就不用管了,因为有fiter
      

  8.   

    yes, 是清空了,问题是要解决清空后点击浏览器后退按钮时出的错误页面
      

  9.   

    应该是你后退到的页面有缓存吧,你点后退后要刷新下浏览器才能更新session,在你那个页面设置不缓存应该可以!
      

  10.   

    session,销毁用户会话,在用response.sendRedirect 纵定向网页.
      

  11.   

    你说的那是关闭,不是退出。因为点“X”之后,你再重新用浏览器打开登录页面,仍然有登录用户的信息。
    楼主试试清除session或在session里设个flag标识,来判读session是否有效。
      

  12.   

    不行的话,手动将userid或username设置null
      

  13.   

    session.setattribute("user",null);这样不就行了,让后跳转到一个页面,用过滤器,不就行了
      

  14.   

    将session过期失效同时跳到你的登录页面
      

  15.   

    这个问题我也遇到过无论是
    session().invalidate();
    还是session.remove('xxx');然后重定向用户点击后退又能进入到系统中去,但是点击具体功能时是进不去的。
    原因是IE做了缓存、
    如果设置禁止IE缓存的话好像又不太好,每次后退操作,无论用户是否有没有被注销都会重新的链接数据库获取一次数据。这个问题确实很苦恼。有舍必有得,看你的项目按实际情况进行设定比较合理一些。
    不知道有没有老鸟有什么好的解决方案