功能描述
将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() {
}
}
|