Filter禁用浏览器缓存

什么是浏览器缓存?
浏览器在用户磁盘上对最近请求过的文档进行存储,当访问者再次请求这个页面时,浏览器就可以从本地磁盘显示文档,这就是浏览器缓存。
为什么使用浏览器缓存?
对于浏览器缓存,相信大家都不会陌生,因为我们经常使用它,但是我们为什么使用浏览器缓存呢?作为用户,使用缓存可以使我们更快的打开一个已经访问过的页面。作为web站点的管理者,浏览器缓存可以在一定程度上减少服务器开销,同时避免相同内容的重复传输带来的带宽浪费。
浏览器缓存是如何产生的?
浏览器请求某个URL,服务端会根据请求返回相应内容,此时浏览器会把这些内容存储起来,这样就产生了浏览器缓存。浏览器缓存的产生同时依赖于浏览器和web服务器,它们之间必然存在沟通,这种沟通机制我们称之为“缓存协商”。
Filter禁用缓存:

21 @Override
22 public void doFilter(ServletRequest request, ServletResponse response,
23 FilterChain chain) throws IOException, ServletException {
24 // 在response的头部设置Cache-Control、Pragma和Expires即可取消缓存
25 HttpServletResponse resp = (HttpServletResponse)response;
26 resp.setHeader("Cache-Control", "no-cache");
27 resp.setHeader("Pragma", "no-cache");
28 resp.setDateHeader("Expires", -1);
29 chain.doFilter(request, resp);
30 }
31


1 <filter>
2 <filter-name>filterDemo3</filter-name>
3 <filter-class>com.oracle.filter.FilterDemo3</filter-class>
4 </filter>
5
6 <filter-mapping>
7 <filter-name>filterDemo3</filter-name>
8 <url-pattern>/*</url-pattern>
9 </filter-mapping>

转载地址

猜你喜欢

转载自blog.csdn.net/footprint01/article/details/82803582