一个好老好老的老程序员了。
全部博文(915)
分类: Java
2011-09-27 22:01:27
浏览器的回退有两种情况:一种是服务器的缓存,一种是浏览器的缓存。
一般的处理方法:
服务器缓存:增加 session 检查,写个过滤器就行了。
浏览器缓存:在页面头信息中加入即可,如果是 JSP 页面,最好是在 java 里也写上 response.setHeader(...) 加入头信息的去缓存 ;
ofbiz 有点不同:用以上方法有时可能会不起作用。经过摸索发现一种解决方法。
解决方法:在 controller.xml 文件中,每个 view-map元素都加上 no-cache="true" 即可,在回退时会强制重新提交和读取页面。
如果还是没有效果,再用以下方法代替:
1 、过滤器,只放行登录页和登录按钮。在过滤器中,如果是成功登录则用重定向 跳转到登录后页面,在之后的页面跳转都不要用重定向 ,在登出时要用重定向 ,这样,登出后要回退就会强制对上个登录成功页面进行过滤检查了。
2 、也是写过滤器,加一个 index.jsp 里面就一个重定向到登录页面。在登出时指向 index.jsp 从这里再跳转到登录页面,这样,回退时就会回到 index.jsp 再次跳转到登陆页面了。