Jsp对于缓存的处理

来源:互联网 发布:sql declare 编辑:程序博客网 时间:2024/06/18 12:53

原文:http://blog.csdn.net/oklzh/article/details/4445722
作者:@oklzh


1.服务器端缓存的问题, 防止JSP页面缓

<%  // 将过期日期设置为一个过去时间  response.setHeader("Expires", "Sat, 6 May 1995 12:00:00 GMT");  // 设置 HTTP/1.1 no-cache 头  response.setHeader("Cache-Control", "no-store,no-cache,must-revalidate");  // 设置 IE 扩展 HTTP/1.1 no-cache headers, 用户自己添加  response.addHeader("Cache-Control", "post-check=0, pre-check=0");  // 设置标准 HTTP/1.0 no-cache header.  response.setHeader("Pragma", "no-cache");  %> 

当然,每一个页面都包含这些代码会很繁琐,可以通过自定义过滤器(Filter)的方法来处理相关的页面


2.防止html页面缓存

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

3.防止Ajax缓存

Ajax缓存,产生的原因是:request, url的地址上:
IE中如果XMLHttpRequest提交的URL与历史一样则使用缓存,根本不向服务器端提交。因此无法取到刚提交的数据。

针对ajax,需要如下设置:

方法一:加时间戳

var url = BaseURL + "&timeStamp=" + new Date().getTime();

方法二:加随机数

var url = BaseURL + "&r=" + Math.random();

原创粉丝点击