JSP/HTML页面 (公共JS、CSS、Image缓存)-----静态缓存
来源:互联网 发布:dvd光盘刻录软件 编辑:程序博客网 时间:2024/05/18 01:54
【1】服务端配置一个Filter,实现对js、css和image的缓存
package com.cache.model.filter;import java.io.IOException;import java.util.Enumeration;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;public class CacheFilter implements Filter {private FilterConfig fc; @Overridepublic void destroy() {// TODO Auto-generated method stubthis.fc = null;}@Overridepublic void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)throws IOException, ServletException {// TODO Auto-generated method stubHttpServletResponse 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); }@Overridepublic void init(FilterConfig filterConfig) throws ServletException {// TODO Auto-generated method stub this.fc = filterConfig; }}
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <filter> <filter-name>CacheFilter</filter-name> <filter-class>com.cache.model.filter.CacheFilter</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>CacheFilter</filter-name> <url-pattern>/js/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CacheFilter</filter-name> <url-pattern>/images/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CacheFilter</filter-name> <url-pattern>/css/*</url-pattern> </filter-mapping> </web-app>完成这一步,在服务端已经实现了对页面公共资源的缓存,但是当前情况下页面还是会每次访问服务器的,只是压力减小了。
如何让页面公共资源在用户第一次加载后,就不需要服务器二次加载?
实现方式是对应公用的JS都放到一个页面中,别的页面包含他,在这个页面中增加页面缓存(特定静态资源)
<%@ page language="java" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><meta charset="utf-8" /><meta http-equiv="cache-control" content="max-age=604800, public"/><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="<%=basePath%>commons/css/bootstrap.min.css" /><script src="<%=basePath%>commons/js/jquery-1.4.2.min.js" charset="utf-8"></script>
<%@ page language="java" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head> <jsp:include page="index.jsp" flush="true"/><!--动态包含--> <title>页面缓存</title></head><body></body></html>
google 浏览器分析:
0 0
- JSP/HTML页面 (公共JS、CSS、Image缓存)-----静态缓存
- 缓存页面中的不变元素(CSS/JS/IMAGE)
- 静态页面html防止js加载缓存
- 页面缓存, jsp 缓存, html 缓存, ajax缓存,解决方法
- 页面缓存, jsp 缓存, html 缓存, ajax缓存,解决方法
- 页面缓存, jsp 缓存, html 缓存, ajax缓存,解决方法
- jsp,html 清除页面缓存
- JSP页面缓存JS问题
- HTML页面自动清理js、css文件的缓存(自动添加版本号)
- html缓存html,css,js等
- 静态缓存案例生成一个html页面
- html jsp 禁止浏览器缓存页面
- 设置HTML和JSP页面不缓存
- 防止浏览器缓存css,js静态文件
- 防止浏览器缓存css,js静态文件
- 防止浏览器缓存css,js静态文件
- 防止浏览器缓存css,js静态文件
- 禁止IIS缓存静态文件(png,js,html等)
- Bootstrap3 表格-紧缩表格
- 了解HHOOK之路( 三)
- Android 运行时出现“thread exiting with uncaught exception”
- 加速AndroidStudio的编译和卡顿等待说拜拜!
- mac 下 afred+sshconfig+expect+screen打造session clone
- JSP/HTML页面 (公共JS、CSS、Image缓存)-----静态缓存
- 带标记的ImageView,图片可以设置成圆角
- Linux程序源码编译安装的configure配置详解
- Mysql 用户管理
- 泰勒展开与找第一项系数不为1的解题策略
- Eclipse报错‘Loading data for Android N' has encountered a problem. Parsing Data for android-N failed 的
- Angular2之二级路由
- json转xml网站
- Spark DataFrame创建与操作