日期:2014-05-18  浏览次数:20665 次

求教如何在浏览器后退时过滤器仍起作用
RT。我用jsp+servlet写了个Demo简单的熟悉下过滤器的作用。我写的过滤器是判断session用于登录过滤,如果已登录可以访问welcome.jsp页面,否则返回login.jsp页面。不登录直接地址访问时过滤器生效。但在正常登录后进行销毁session操作后,如果在浏览器点击后退时仍然能展现welcome.jsp页面。我的理解是因为后退操作展现的是缓存页面,这理解对吗??那怎么样才能做到点击浏览器的后退操作后使页面重新加载而使过滤生效??
浏览器 session 过滤器 重新加载 servlet

------解决方案--------------------
http://www.cnblogs.com/yuanyuan/archive/2010/01/12/1645297.html
------解决方案--------------------
这儿 我试了一下我的系统 点击退后按钮 发现页面刷新了一下 回到了login页面 没出现你说的问题 但是我觉得这个问题的存在可能是页面就是个静态页面 没什么二次请求 我那个页面有很多静态请求 刷新时会多次请求  过滤器拦截到这些请求 也就回到了login页面了
------解决方案--------------------
你过滤器是从session里面读取数据,只要还是在session里的有效期(会话开始到结束),能从里面读取数据就可以登录
------解决方案--------------------
把页面缓存关掉就好了

搜:浏览器禁止缓存
------解决方案--------------------
那就是读取的浏览器缓存页面,你看一些银行的系统任何后退操作之后就直接404了。。

------解决方案--------------------
过滤器跳转到指定页面  和  让页面禁止访问浏览器的缓存  这两个没冲突吧。。

你不是说退出登录跳到指定页面然后点击”后退“按钮,显示 welcome.jsp 这里加上顶部加上禁用缓存的三行代码就可以了。