设置不使用缓存的过滤器(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;
/**
* 使浏览器不缓存页面信息的过滤器

* 创建日期:2012-01-10
* 
* @author <a href="mailto:hemingwang0902@126.com">何明旺</a>
*/
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() {
}
} 

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/68747.html