设置不使用缓存的过滤器(ClearCacheFilter)

功能描述

        将HTTP响应头信息中的缓存参数设置为不进行缓存。

使用方法

        在 java web 项目的 web.xml 文件中添加如下代码。

<!--设置不使用缓存的过滤器配置  开始 -->
< filter >
  < filter-name >ClearCacheFilter</ filter-name >
  < filter-class >com.hmw.filter.ClearCacheFilter</ filter-class >
</ filter >
 
< filter-mapping >
  < filter-name >ClearCacheFilter</ filter-name >
  < url-pattern >*.do</ url-pattern >
</ filter-mapping >
< filter-mapping >
  < filter-name >ClearCacheFilter</ filter-name >
  < url-pattern >*.jsp</ url-pattern >
</ filter-mapping >
<!--设置不使用缓存的过滤器配置  结束 -->

过滤器源码

package   com.hmw.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.HttpServletResponse;
 
/**
  * 使浏览器不缓存页面信息的过滤器<br>
  */
public   class   ClearCacheFilter implements   Filter {
 
     @Override
     public   void   init(FilterConfig filterConfig) throws   ServletException {
     }
 
     @Override
     public   void   doFilter(ServletRequest request, ServletResponse response,
             FilterChain filterChain) throws   IOException, ServletException {
         HttpServletResponse httpResponse = (HttpServletResponse) response;
         httpResponse.setHeader( "Cache-Control" , "no-cache" );
         httpResponse.setHeader( "Pragma" , "no-cache" );
         httpResponse.setDateHeader( "Expires" , - 1 );
         filterChain.doFilter(request, response);
     }
 
     @Override
     public   void   destroy() {
     }
}

猜你喜欢

转载自fan12345.iteye.com/blog/2297025