2008年12月16日星期二

tomcat 缓存设置 filter

public class CacheFilter implements Filter {
private FilterConfig filterConfig;

public void doFilter( ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {

HttpServletRequest httpRequest = (HttpServletRequest)request;

String requestURI = httpRequest.getRequestURI();
if( !requestURI.contains(".nocache.") ){
long today = new Date().getTime();
HttpServletResponse httpResponse = (HttpServletResponse)response;
httpResponse.setDateHeader("Expires", today+31536000000L);
}
filterChain.doFilter(request, response);

}

public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
}

public void destroy() {
this.filterConfig = null;
}
}

-----------------
web.xml 配置
-----------------
< filter>
< filter-name >CacheFilter< /filter-name >
< filter-class >com.rdews.cms.filters.CacheFilter< /filter-class >
< /filter >
< filter-mapping >
CacheFilter< /filter-name >
/gwt/*< /url-pattern >
< /filter-mapping >

没有评论: