首先,全套是:
httpResponse.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.httpResponse.setHeader("Pragma", "no-cache"); // HTTP 1.0.httpResponse.setDateHeader("Expires", 0); // Proxies.必须使用
no-store和
must-revalidate才能在每个Firefox下正常运行。
但是,即使实施了上述过滤器后,也会缓存一些页面(可使用浏览器的后退按钮访问)。
您是如何测试的?这些标头实际上将阻止浏览器从浏览器缓存而不是直接从服务器请求页面。最好的测试是让
Filter侦听
/*并添加以下类型的调试语句:
HttpServletRequest httpRequest = (HttpServletRequest) request;String method = httpRequest.getMethod();String URI = httpRequest.getRequestURI();System.out.println(method + " request invoked on " + URI);
这应该打印实际的请求。
还要确保您不要使用HTML
<meta>标记覆盖JSP页面本身中的标题。
和其他未缓存的页面, 在Internet Explorer中显示“ 网页过期” 错误。
仅当非缓存请求是
POST请求而不是请求时,您才能获得此信息
GET。该
GET请求将简单地从服务器再次,而不是从浏览器缓存请求。



