最近做了一个项目,点击left.jsp上的“退出登录”后,系统把session,cache都清空了,然后返回到index.jsp,即登录页面,然后点浏览器上的“后退”按钮,提示“网页已过期”,但是再点浏览器上的“刷新”时,系统提示“重试”,“确定”之后,系统就以刚才登陆的身份又重新进入系统,我用的是IE6.0,
请问,这个是我在系统处理时没有处理好,还是是浏览器的问题?

解决方案 »

  1.   

    --------------------
    session.validate
    --------------------
    通过过滤器来解决
    --------------------都用过了,问题照旧..
      

  2.   

    是不是IE缓存问题
    用Httpwatch 看看 第二次 刷新 提交了什么
      

  3.   

    session.removeAttribute("");先删除了,你用的是tomcat,可能是tomcat的原因。
      

  4.   

    我认为是IE缓存的问题,不会是tomcat的问题
    刷新后提交的userID & password 还是 最初登录时的那个,大家遇到过这样的问题没,该怎样解决呢~~
      

  5.   

    做个过滤器显示页面时先看session中用户是否存在,不存在就跳转到登录页面
    你的用户信息确定是存到session中?
    我感觉应该是session没清空吧  仔细检查一遍
      

  6.   

    session都清空了,怎么会再成为登录状态呢
    登上来的时候楼主在服务器上看看是否真的是登录状态
      

  7.   

    做个过滤器显示页面时先看session中用户是否存在,不存在就跳转到登录页面
    ------------------------------------
    有这样的过滤器,功能也即如此
    你的用户信息确定是存到session中?
    --------------------------------------
    是的,确定存在session中,因为在点"退出系统"的时候,我还专门从session中把登录名取了出来
    我感觉应该是session没清空吧
    ---------------------------------
    在"退出系统"的处理那,我用的是session.validate(),而且退出之后,再点"后退"已经提示"网页过期",只是再点"刷新"的时候,又以原来的登录名进到系统了
      

  8.   

    登录过后,重新定向到.jsp,而不是让浏览器的URL保持在某个Serlvet或者.do这样的路径.
    <%
        if (用户已经登录) {
    %>
    <script>
    location.href = "default.jsp";
    </script>
    <%
        }
    %>
      

  9.   

    按楼上这位大哥所说的,终于解决了哈~~
    ---------------------------------------------
    原理:
        再多定义一个空的login.jsp,登录成功之后,直接跳转到此页面,
    而把原来登录成功的路径在这个login.jsp中用
    <script>
          location.href = "default.jsp";
    </script>
    跳过去,这样,退出之后再点"后退"/"刷新",提交就会定向到此login.jsp,
    而这个jsp是需要经过过滤器的,因为session已经被清空,所以就过滤掉了!!即登录时多经过了一个起中间桥梁的jsp页面,
    其实我在做"退出系统"的时候,也是经过了一个中间页面,
    ----------------------------------------------
    好了,结贴,给分!!!!