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

    本系列文章导读:

        通用的用户登录过滤器(SessionFilter)

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

        设置站点黑名单的过滤器(BannedAccessFilter)

        将响应数据进行压缩处理的过滤器(CompressionFilter)

        替换禁用语(指定关键字)的过滤器(StopWordsFilter)

功能描述

        将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 何明旺 */ 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() { } }
posted @ 2012-01-10 13:14  星情  阅读(3858)  评论(0编辑  收藏  举报
欢迎阅读旺仔的更多文章:旺仔专栏文章索引