页面缓存

来源:互联网 发布:p相片软件 编辑:程序博客网 时间:2024/05/02 23:43
怎么让jsp页面在客户端浏览器不缓存。自己在客户端浏览器点击“后退”按钮出现“网页过期”没有任何关系。
我们平时<%response.setHeader("Pragma","No-cache");response.setHeader("Cache-Control","no-cache");response.setDateHeader("Expires",0);%>使用段代码实现JSP页面不缓存,但是并不代表打开此页面后,再由此页面进入下一个页面再点后退,就会出现过期,
例如:A.jsp(加了不缓存代码)--->B.jsp(加了不缓存代码),那么从B后退到A时,依然会把A打开,但是A.JSP,B.jsp加了不缓存代码和没有加不缓存代码的区别就在于:如果A。JSP上有表单元素,那么当从A.jsp提交到B.jsp,然后再从B.jsp后退到A.jsp时:
1,A.jsp加,B.jsp 加   A.jsp表单元素(主要体现在表单元素)中的输入元素都会清空或者还原成默认值,并且再从A.jsp前进到 B.jsp时,会出现网页过期代码;
2,A.jsp没加,B.jsp 没加  A.jsp表单元素中的输入元素还是保存中上次输入值的记录,并且再从A.jsp前进到B.jsp正常。
3,A.jsp加,B.JSP没加   A.jsp表单元素(主要体现在表单元素)中的输入元素都会清空或者还原成默认值,并且再从A.jsp前进到 B.jsp时正常。
4,A.jsp没加,B.jsp加    A.jsp表单元素中的输入元素还是保存中上次输入值的记录,并且再从A.jsp前进到B.jsp,出现网页过期。总结:  <%response.setHeader("Pragma","No-cache");response.setHeader("Cache-Control","no-cache");response.setDateHeader("Expires",0);%>这段代码会强制客户端每次在地址栏中敲URL或者使用浏览器的后退时,都发现网页过期后会强制性从服务器取得最新的页面,但是在点击前进时,却与后退不一样,它不会从服务器取得最新的页面,直接发现网页过期后出现网页过期页面我想的是点击后退时应该与前进一样,当检测到网页过期时,直接出现网页过期页面。有一个很笨的实现方法是使用 JavaScript实现,当用户点击后退时,就让它前进,这时就会出现网页过期页面,但是问题是,这个时候地址栏也会变,出现你前进时的URL,这个时候如果用户按照提示”。。。网页过期,刷新。。”刷新浏览器时,出现的页面不是后退页面而是前进的页面。
以上百度知道copy,没证实
0 0
原创粉丝点击