java文件改变的时候怎么让浏览器清除缓存

浏览器缓存对jsp,servlet来说都有时候是很致命的。以前用AJAX实现一个进度条,每隔1秒向服务器询问一次进度,服务器返回当前的百分比,就一个数字。开始的时候没有禁止缓存,结果进度条老是不动。我在自己的电脑上测试还没发现这个问题,因为我在internet选项了选择了“每次访问此页时检查”,而默认选项是“自动”,其实就是允许缓存。禁止缓存可以在HTML中写,也可以在http header里面写,但对于非HTML页面,就只有后面那种选择了,在 servlet里可以这样写:

response.setHeader("Pragma","No-Cache");
response.setHeader("Cache-Control","No-Cache");
response.setDateHeader("Expires",0);

1.//http 1.1

2.//http 1.0

3.prevents cathching at proxy server
必须三个都写上才能应付各种浏览器。似乎大小写敏感(不确定,但上面这种肯定适用于IE 5,6)。还有Expires那个值有人说是-1。

 

在jsp页面中这样写:

<%
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
%>

你可能感兴趣的:(Java,浏览器,技术学习)