禁用浏览器缓存的过滤器
2016-11-22 11:42
211 查看
代码如下:
过滤器代码
package filter;
public class NoCacheFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
HttpServletResponse httpServletResponse = (HttpServletResponse) response;
httpServletResponse.setDateHeader("Expires", -1);
httpServletResponse.setHeader("Cache-Control", "no-cache");
httpServletResponse.setHeader("Pragma", "no-cache");
chain.doFilter(httpServletRequest, httpServletResponse);
}
@Override
public void destroy() {}
}
在web.xml中配置
下面三行代码都可以禁止浏览器缓存当前页面,但是并不是所有的浏览器都能完全支持其中的三个响应头, 因此最好是同时使用这三行代码。
过滤器代码
package filter;
public class NoCacheFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
HttpServletResponse httpServletResponse = (HttpServletResponse) response;
httpServletResponse.setDateHeader("Expires", -1);
httpServletResponse.setHeader("Cache-Control", "no-cache");
httpServletResponse.setHeader("Pragma", "no-cache");
chain.doFilter(httpServletRequest, httpServletResponse);
}
@Override
public void destroy() {}
}
在web.xml中配置
<filter> <filter-name>noCacheFilter</filter-name> <filter-class>filter.NoCacheFilter</filter-class> </filter> <filter-mapping> <filter-name>noCacheFilter</filter-name> <url-pattern>要过滤的页面</url-pattern> </filter-mapping>
下面三行代码都可以禁止浏览器缓存当前页面,但是并不是所有的浏览器都能完全支持其中的三个响应头, 因此最好是同时使用这三行代码。
httpServletResponse.setDateHeader("Expires", -1); httpServletResponse.setHeader("Cache-Control", "no-cache"); httpServletResponse.setHeader("Pragma", "no-cache");
相关文章推荐
- 禁用浏览器缓存
- Servlet过滤器——使用过滤器禁止浏览器缓存页面
- 禁用浏览器缓存
- 2013-01-28 09:46 PHP阻止页面后退如何用PHP实现禁用浏览器的后退,使后退的页面失效或链接到别的地方?使用php禁止浏览器缓存?
- Nodejs源代码配置、禁用浏览器缓存
- 禁止浏览器缓存所有动态页面的过滤器:
- 禁用浏览器缓存
- 004_Http之response响应头-03禁用浏览器缓存
- 在表示层禁用浏览器缓存的方法,以解决应用开发不能即时刷新体现修改结果的问题
- 使用Filter 过滤器实现禁用缓存
- web app 禁用手机浏览器缓存方法
- ASP.NET Boilerplate 学习 AspNet Core2 浏览器缓存使用 c#基础,单线程,跨线程访问和线程带参数 wpf 禁用启用webbroswer右键菜单 EF Core 2.0使用MsSql/MySql实现DB First和Code First ASP.NET Core部署到Windows IIS QRCode.js:使用 JavaScript 生成
- 禁用页面缓存。目的:用户登录后退出。点击浏览器后退按钮造成的问题
- [原创]java WEB学习笔记45:自定义HttpFilter类,理解多个Filter 代码的执行顺序,Filterdemo:禁用浏览器缓存的Filter,字符编码的Filter,检查用户是否登陆过的Filter
- 禁用页面缓存。目的:用户登录后退出。点击浏览器后退按钮造成的问题
- 禁用浏览器缓存Ajax请求
- PHP实现每隔1秒(一秒)输出一条信息:禁用PHP缓存和web服务器(兼容Nginx、Apache)缓存、浏览器缓存
- http协议:http请求、http响应、间隔时间跳转页面、禁用浏览器缓存
- 禁止浏览器缓存所有动态页面的过滤器:
- 调试网站的时候关闭浏览器缓存 Nginx禁用Html/Js/Css缓存