当前位置:Gxlcms > html代码 > HTML页面实现全方位页面缓存_html/css_WEB-ITnose

HTML页面实现全方位页面缓存_html/css_WEB-ITnose

时间:2021-07-01 10:21:17 帮助过:11人阅读

【1】服务端配置一个Filter,实现对js、css和image的缓存

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;	}}

web.xml配置

          CacheForWeek          cn.com.system.filter.CacheForWeekFilter                        Cache-Control              max-age=604800, public                               CacheForWeek          /js/                      CacheForWeek          /images/                      CacheForWeek          /css/       
完成这一步,在服务端已经实现了对页面的缓存,但是当前情况下页面还是会每次访问服务器的,只是压力减小了

如何让页面在一段时间内不访问服务器呢

实现方式是对应公用的JS都放到一个页面中,别的页面包含他,在这个页面中增加页面缓存

<%@ page language="java" pageEncoding="UTF-8"%>

人气教程排行