Heim  >  Artikel  >  Web-Frontend  >  HTML页面实现全方位页面缓存_html/css_WEB-ITnose

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

WBOY
WBOYOriginal
2016-06-24 11:57:55869Durchsuche

【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配置

<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> 
完成这一步,在服务端已经实现了对页面的缓存,但是当前情况下页面还是会每次访问服务器的,只是压力减小了

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

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

<meta charset="utf-8"><span style="color:#ff0000;"><meta http-equiv="cache-control" content="max-age=604800, public"></span><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><!--IE10--><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"><!--<meta name=”renderer” content=”webkit|ie-comp|ie-stand”>--><meta name="”renderer”" content="”webkit|ie-comp|ie-stand”"><!-- CSS styles --><link rel="stylesheet" type="text/css" href="%24%7BpageContext.request.contextPath%7D/css/base.css"><script src="%24%7BpageContext.request.contextPath%7D/common/jquery/js/jquery-1.8.2.js" charset="utf-8"></script><script src="%24%7BpageContext.request.contextPath%7D/common/jquery/js/jquery.ui.core.js" charset="utf-8"></script>



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn