首页 > Java开发 > Java使用Filter过滤器清除网页缓存

Java使用Filter过滤器清除网页缓存

  1. import java.io.IOException;
  2. import javax.servlet.Filter;
  3. import javax.servlet.FilterChain;
  4. import javax.servlet.FilterConfig;
  5. import javax.servlet.ServletException;
  6. import javax.servlet.ServletRequest;
  7. import javax.servlet.ServletResponse;
  8. import javax.servlet.http.HttpServletResponse;
  9. public class CacheFilter implements Filter {
  10.     public void destroy() {
  11.         System.out.println("缓存Filter------销毁操作");
  12.     }
  13.     public void doFilter(ServletRequest request, ServletResponse response,
  14.             FilterChain chain) throws IOException, ServletException {
  15.         System.out.println("清除缓存................");
  16.         //response对象
  17.         HttpServletResponse res = (HttpServletResponse) response;
  18.         // 设定网页的到期时间,一旦过期则必须到服务器上重新调用
  19.         res.setDateHeader("Expires", -1);
  20.         // Cache-Control 指定请求和响应应遵循的缓存机制 no-cache指示请求或响应消息是不能缓存的
  21.         res.setHeader("Cache-Control", "no-cache");
  22.         // 用于设定禁止浏览器从本地缓存中调用页面内容,设定后一旦离开页面就无法从Cache中再调出
  23.         res.setHeader("Pragma", "no-cache");
  24.         // 放行
  25.         chain.doFilter(request, res);
  26.     }
  27.     public void init(FilterConfig filterConfig) throws ServletException {
  28.         System.out.println("初始化数据-----缓存清除");
  29.     }
  30. }

本文固定链接: http://www.devba.com/index.php/archives/335.html | 开发吧

报歉!评论已关闭.