/** * Copyright (c)2010-2011 Enterprise Website Content Management System(EWCMS), All rights reserved. * EWCMS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * http://www.ewcms.com */ package com.ewcms.web.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; import com.ewcms.web.util.ServletUtil; /** * 为Response设置客户端缓存控制Header的Filter * 使WebContent/ewcmssource目录下的文件缓存到客户端 * * @author wu_zhijun * */ public class CacheControlHeaderFilter implements Filter { private static final String PARAM_EXPIRES_SECONDS = "expiresSeconds"; private long expiresSeconds; @Override public void init(FilterConfig filterConfig) throws ServletException { String expiresSecondsParam = filterConfig.getInitParameter(PARAM_EXPIRES_SECONDS); if (expiresSecondsParam != null) { expiresSeconds = Long.valueOf(expiresSecondsParam); } else { expiresSeconds = ServletUtil.ONE_YEAR_SECONDS; } } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { ServletUtil.setExpiresHeader((HttpServletResponse) response, expiresSeconds); chain.doFilter(request, response); } @Override public void destroy() { } }