首页 > 代码库 > HTML页面实现全方位页面缓存
HTML页面实现全方位页面缓存
【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都放到一个页面中,别的页面包含他,在这个页面中增加页面缓存
<%@ page language="java" pageEncoding="UTF-8"%> <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=http://www.mamicode.com/"${pageContext.request.contextPath}/css/base.css" />>HTML页面实现全方位页面缓存
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。