正文

JSP技术分享:常用禁止缓存的四种方法2012-12-25 12:08:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/javaxx/54034.html

分享到:

以下是常用禁止缓存的四种方法:


1、客户端缓存要在head中加入类似如下内容:


<META HTTP-EQUIV="pragma" CONTENT="no-cache">


<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">


<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">





<meta http-equiv="pragma" content="no-cache">


<meta http-equiv="cache-control" content="no-cache">


<meta http-equiv="expires" content="0">


2、在服务器的动态网页中禁止缓存,要加入类似如下脚本:


response.setHeader("Pragma","No-cache");


response.setHeader("Cache-Control","no-cache");


response.setDateHeader("Expires", 0);


3、设置有限时间的缓存:


int minutes = 10;


Date d = new Date();


String modDate = d.toGMTString();


String expDate = null;


expDate = (new Date(d.getTime() + minutes * 60000))。toGMTString();


response.setHeader("Last-Modified", modDate);


response.setHeader("Expires", expDate);


response.setHeader("Cache-Control", "public"); //   HTTP/1.1


response.setHeader("Pragma", "Pragma"); //   HTTP/1.0


建议:jsp cache最好做在过滤器上,把需要缓冲的页面集中在同一个目录下,每次更改只须更改web.xml就可以完成缓冲设置,这样比较方便。


4、最后如果以上方法都不行的话,就在你的正常的URL后面加上一个尾巴。


在JS中就选择:


var timestamp = (new Date())。valueOf();


URL+"&timestamp="+timestamp;


在Java代码中就选择:


long timestamp=new Date()。getTime();


URL+"&timestamp="+timestamp;


这样的话,你的URL始终都在变化,自然浏览器就得老老实实的进行更新了,它也无缓冲可拿了。

阅读(1422) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册