好记性不如烂笔头36-利用java过滤器禁止浏览器缓存
来源:互联网 发布:阿里云虚拟主机 根目录 编辑:程序博客网 时间:2024/05/06 23:58
很多的应用,需要缓存文件提升性能;而很多的应用,最好禁止浏览器使用缓存,因为他们需要的数据最好能够及时体现。比如我们的统一采编维平台,如果修改的数据是缓存过的,那非把采编人员搞疯了不可。因此,这样的系统中,所有的页面最好都要禁用缓存。
1、 用JAVA过滤器实现禁止浏览器缓存的源代码
package com.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * 一个简单的让浏览器不用缓存的 * @author 范芳铭 */public class EasyNoCacheFilter implements Filter{ private FilterConfig filterConfig; @Override public void init(FilterConfig filterConfig) throws ServletException { System.out.println("----过滤器初始化----"); this.filterConfig = filterConfig; } //过滤器功能在这里实现 @Override public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) resp; //禁止浏览器缓存所有动态页面 response.setDateHeader("Expires", -1); response.setHeader("Cache-Control", "no-cache"); response.setHeader("Pragma", "no-cache"); chain.doFilter(request, response); } @Override public void destroy() { System.out.println("----过滤器销毁----"); }}
2、 参数说明
1 response.setDateHeader(“Expires”,-1);
2 response.setHeader(“Cache-Control”,”no-cache”);
3 response.setHeader(“Pragma”,”no-cache”);
并不是所有的浏览器都能完全支持上面的三个响应头,因此最好是同时使用上面的三个响应头。
Expires数据头:值为GMT时间值,为-1指浏览器不要缓存页面
Cache-Control响应头有两个常用值:
no-cache指浏览器不要缓存当前页面。
max-age:xxx指浏览器缓存页面xxx秒。
3、 修改web.xml
<filter> <filter-name>NoCacheFilter</filter-name> <filter-class>com.filter.EasyNoCacheFilter</filter-class> </filter> <filter-mapping> <filter-name>NoCacheFilter</filter-name> <servlet-name>*.jsp</servlet-name> </filter-mapping>
0 0
- 好记性不如烂笔头36-利用java过滤器禁止浏览器缓存
- 好记性不如烂笔头35-利用java过滤器缓存WEB静态资源
- 好记性不如烂笔头34-利用java过滤器实现用户自动登录
- 好记性不如烂笔头
- 好记性不如烂笔头!!
- 好记性不如烂笔头
- 好记性不如烂笔头
- 好记性不如烂笔头
- 好记性不如烂笔头
- 好记性不如烂笔头
- 好记性不如烂笔头
- 好记性不如烂笔头
- 好记性不如烂笔头
- 好记性不如烂笔头
- 好记性不如烂笔头
- 好记性不如烂笔头
- 好记性不如烂笔头
- 好记性不如烂笔头
- 易语言无.ecode段破解方法
- 淘宝下单高并发解决方案
- 浏览器内核Trident/Gecko/WebKit/Presto
- MFC如何使控件大小随着对话框大小自动调整
- CentOS 虚拟机 卸载 并安装JDK
- 好记性不如烂笔头36-利用java过滤器禁止浏览器缓存
- error:Createprocess接收命令行的参数时,无法找到指定的文件。。
- Android RSA加密解密
- EdmondsKarp模板,hdu1532
- Android 使用ContentProvider扫描手机中的图片,仿微信显示本地图片效果
- Gallery3d 学习笔记(17)
- 深入tomcat验证机制
- UML笔记10--包和UML语言基础
- Sqlserver 导出insert插入语句