转:http://blog.csdn.net/zxycode007/article/details/7045236
用户退出后,如果点击浏览器上的后退按钮,Web应用将不能正确保护受保护的页面——在Session销毁后(用户退出)受保护的JSP页重新在浏览器中显示出来。然而,如果用户点击返回页面上的任何链接,Web应用将会跳转到登陆页面并提示Session has ended.Please log in.
阻止浏览器缓存
上述问题的根源在于大部分浏览器都有一个后退按钮。当点击后退按钮时,默认情况下浏览器不是从Web服务器上重新获取页面,而是从浏览器缓存中载入页面。基于Java的Web应用并未限制这一功能,在基于PHP、ASP和.NET的Web应用中也同样存在这一问题。
幸运的是,HTTP头信息“Expires”和“Cache-Control”为应用程序服务器提供了一个控制浏览器和代理服务器上缓存的机制。HTTP头信息Expires告诉代理服务器它的缓存页面何时将过期。HTTP1.1规范中新定义的头信息Cache-Control可以通知浏览器不缓存任何页面。当点击后退按钮时,浏览器重新访问服务器已获取页面。如下是使用Cache-Control的基本方法:
1) no-cache:强制缓存从服务器上获取新的页面
2) no-store: 在任何环境下缓存不保存任何页面
保险起见,对html页面和jsp最好都加一些设置对于HTM网页,加入:
<meta HTTP-EQUIV="pragma" CONTENT="no-cache">
< meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
< meta HTTP-EQUIV="expires" CONTENT="0">
然后,jsp页面中加入:
<%
response.setHeader("Cache-Control","no-store");
response.setHeader("Pragrma","no-cache");
response.setDateHeader("Expires",0);
%>
就可以了
以上是我在做程序中测试出来的bug解决方法 ,是别人拷贝过来,不过鉴于此情况经常发生所以记录下来供别人和自己将来参考,在ie下测试有效,其他浏览器由于本机没有安装暂时不知道。其实asp和其他页面也可参考啊。
相关推荐
HTML,JSP 页面缓存的解决方案 在弹出的模态窗口中如果有POSTBACK,则会打开新窗口,而且调试的时候,弹出的模态窗口默认是有缓存,很不方便。
IE页面缓存问题,html,jsp及servlet中的设置
禁用html页面的缓存,针对asp,php,jsp页面的缓存设置
本文实例总结了JSP清除页面缓存常用方法。分享给大家供大家参考,具体如下: 一、清除页面缓存 在jsp页里 <%response.setHeader(Pragma,No-cache); response.setHeader(Cache-Control,no-cache); response....
页面缓存(局部缓存和全局缓存)(View,html代码) 缺点:不能做到实时更新 优点:比二级缓存性能更高 二级缓存(Model/业务层,domain对象)优点:可以做到实时更新 3.数据源 连接池放一些连接对象 4.SSI...
当点击后退按钮时,默认情况下浏览器不是从Web服务器上重新获取页面,而是从浏览器缓存中载入页面,那么怎么才能让HTML和JSP页面不缓存呢?下面为大家介绍下比较详细的解决方法
79. JSP字符编码问题及转换大全? 80. 使用过滤器设置请求编码? 81. JSP或Servlet调用DLL? 82. 在JSP中包含Applet(时钟)? 83. 在Applet中显示一个html页面? 84. 使session强制失效85. iFreme编辑框使用? 86. Applet与...
内容缓存是Web应用中最普通的优化技术之一,例如,可以使用一个自定义地jsp标签——我们将之命名为——由和将每一个需要被缓存的页面片段封装起来。任何自定义标签可以控制它所包含部分 (也即预先封装的页面片段)在...
JSP字符编码问题及转换大全? 80. 使用过滤器设置请求编码? 81. JSP或Servlet调用DLL? 82. 在JSP中包含Applet(时钟)? 83. 在Applet中显示一个html页面? 84. 使session强制失效85. iFreme编辑框使用?...
遇到的问题就是在在Chrome,火狐页面都正常,唯独在IE8下页面样式显示乱样了,但是本地就显示正常,Tomcat缓存也清楚了,再加上自己也是个小白,周末平静了一天半终于找到问题的源头了,其实解决办法也很简单,如图...
新的IO组件在处理磁盘中的文件时,将不必再对文件执行I/O操作,这意味着在对文件进行处理时将不必再为文件申请并分配缓存,所有的文件缓存操作均由系统直接管理,由于取消了将文件数据加载到内存、数据从内存到文件...
1、优化了页面缓存类及页面缓存生成方式 2、优化减少过滤器中的sql查询语句 3、优化减少版块帖子列表sql查询语句 4、优化个人空间 5、优化验证问答 6、优化快速编辑帖子的提交方式和帖子附件下载次数 7、...
可以称之为总版,模仿forum 类的接口做个superforum 并且实现cachable,不过因为这个页面刷新量比较大,虽然被cache 了,我还是想办法进行页面的缓存,感觉用jsp 产生的html静态内容当缓存,页面访问速度应该有所提高...
1、优化了页面缓存类及页面缓存生成方式 2、优化减少过滤器中的sql查询语句 3、优化减少版块帖子列表sql查询语句 4、优化个人空间 5、优化验证问答 6、优化快速编辑帖子的提交方式和帖子附件下载次数 7、...
JSP是一种基于Java的Web开发技术,它允许开发者在HTML页面中嵌入Java代码,实现动态网页的生成。在网上书店系统中,JSP技术被广泛应用于页面展示、用户交互和数据处理等方面。通过JSP页面,用户可以浏览书籍信息、...
当一个用户访问一个JSP页面时,如果该页面用page指令设置页面的contentType属性时text/html,那么JSP引擎将按照这个属性值做出反应。如果要动态改变这换个属性值来响应客户,就需要使用Response对象的...
33、修复了:统计功能中,“积分排行”的缓存不起作用的问题。 34、修复了:后台查看禁止用户记录时,页面样式的错误。 35、修复了:论坛控制面版的公众用户组功能不是公众用户组的也会显示加入的问题 36、修复了...
以Spring Framework为核心容器,Spring MVC为模型视图控制器,Mybatis Plus为数据访问层, Apache Shiro为权限授权层, Redis为分布式缓存,Quartz为分布式集群调度,JSP作为前端页面引擎,采用JSTL标签库封装组件的...
33、修复了:统计功能中,“积分排行”的缓存不起作用的问题。 34、修复了:后台查看禁止用户记录时,页面样式的错误。 35、修复了:论坛控制面版的公众用户组功能不是公众用户组的也会显示加入的问题 36、修复了...
数据和逻辑处理由STRUTS的模型层 Model进行处理,页面调转由STRUTS的控制层Controller实现,页面负责显示请求和响应,大大增强了“人机”的互动性,这一层在 STRUTS的视图层View用STRUTS标签+HTML等实现,同时使用...