ホームページ > 記事 > ウェブフロントエンド > HTML ページで包括的なページ キャッシュを実現_html/css_WEB-ITnose
【1】サーバーにフィルターを設定してjs、css、画像のキャッシュを実装します
package cn.com.system.filter;import java.io.IOException;import java.util.Enumeration;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;public class CacheForWeekFilter { private FilterConfig fc; public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletResponse response = (HttpServletResponse) res; for (Enumeration e = fc.getInitParameterNames(); e.hasMoreElements();) { String headerName = (String) e.nextElement(); response.addHeader(headerName, fc.getInitParameter(headerName)); } chain.doFilter(req, response); } public void init(FilterConfig filterConfig) { this.fc = filterConfig; } public void destroy() { this.fc = null; }}
ページがサーバーに一定期間アクセスできないようにする方法
実装方法は、対応するすべてのパブリック JS を 1 つのページに配置し、他のページを含めてこのページのページ キャッシュを増やすことです
<filter> <filter-name>CacheForWeek</filter-name> <filter-class>cn.com.system.filter.CacheForWeekFilter</filter-class> <init-param> <param-name>Cache-Control</param-name> <param-value>max-age=604800, public</param-value> </init-param> </filter> <filter-mapping> <filter-name>CacheForWeek</filter-name> <url-pattern>/js/</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CacheForWeek</filter-name> <url-pattern>/images/</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CacheForWeek</filter-name> <url-pattern>/css/</url-pattern> </filter-mapping>