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