Atitit.减少http请求数方案
Atitit.减少http请求数方案
1. 原理与方法
界面调用js.jsp css.js, 如果存在缓存文件就返回缓存文件,否则
读取js css列表文件
读取文件,拼接成一个大的js css文件,然后缓存起来
作者:: ★(attilax)>>> 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://www.cnblogs.com/attilax/
1.1. -------jsp
<%@ page language="java" import="java.util.*,com.csmy.my.center.util.CTUtils" pageEncoding="UTF-8"%>
<%@ page import="com.attilax.util.connReduceDync"%>
<%@ page import="com.attilax.io.pathx"%>
<%
connReduceDync c=new connReduceDync();
//c.res="com.attilax,core/import.js,core/core.js,core/yaml.js|com.atilax.frmwk,/jquery-1.8.3.min.js ";
c.resfile="index/js.txt";
c.resfileUse=true;
//c.base = "" //def is approot
c.output="index/jobus_index.js"; //index/jobus.js
c.recreateMode=true; //else use append mode
//System.out.println(c.joinNout()); //trest mode
//System.out.println();/
// return;
%>
<%=c.readCacheOrjoinNout()%>
1.2. "index/js.txt";
index/img.js
com.atilax.frmwk/jquery-1.8.3.min.js
com.attilax/HRE.js
com.attilax/jsbridge/jsb_v8q414.js
com.attilax/templete/jquery.tmpl.js
com.atilax.frmwk/unslider.min.js
com.attilax/core/coreV3.js
cmsPhone4jobusImp/list.js
com.attilax/log/logV2.js
1.3. connReduceDync
package com.attilax.util;
import java.io.File;
import java.util.List;
import java.util.Map;
import com.attilax.coll.ListX;
import com.attilax.collection.listUtil;
import com.attilax.io.filex;
import com.attilax.io.pathx;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
/**
* servlet
* @author Administrator
*
* com.attilax.util.connReduceDync
*
*/
public class connReduceDync extends ConnReducerV2 {
public String resfile;
public boolean resfileUse=false;
public static void main(String[] args) {
connReduceDync c=new connReduceDync();
c.res="com.attilax,core/import.js,core/core.js,core/yaml.js|com.atilax.frmwk,/jquery-1.8.3.min.js ";
c.resfile="list/list_jss.txt";
c.resfileUse=true;
//c.base = pathx.webAppPath();
c.output="list/jobus_list.js"; //index/jobus.js
//c.output_css=c.base+"/list/jobus_list.css";
//c.isGeneCss=false;
c.recreateMode=true; //else use append mode
c.genefile=true;
System.out.println(c.joinNout()); //trest mode
//System.out.println(c.readCacheOrjoinNout());//product mode
//Map m=Maps.newLinkedHashMap();
//m.put("res",s);
System.out.println("--f");
}
public String readCacheOrjoinNout() {
output=pathx.fillFullpath(output);
if(new File(this.output).exists())
return filex.read(this.output);
return joinNout();
}
public String joinNout() {
output=pathx.fillFullpath(output);
gene() ;
return this.resCache;
}
private void gene() {
resfile=pathx.webAppPath()+"/"+resfile;
List<String> li=Lists.newLinkedList();
if(resfileUse==false)
li=parseLi(base);
if(resfileUse)
li=listUtil.trimLine( filex.read2list(this.resfile) );
for (String line : li) {
line = line.trim();
if (line.length() == 0)
continue;
importx(line);
}
reduce();
}
private List<String> parseLi(String base) {
List<String> li=Lists.newArrayList();
String reses=res;
String[] rows=reses.split("\\|");
for (String row : rows) {
String[] cols=CsvUtil.toCols(row);
String dir=cols[0];
for (int i=1;i<cols.length;i++) {
String f = cols[i].trim();
if(f.trim().startsWith("/"))
f=f.substring(1);
String full_file=dir+"/"+f;
li.add(full_file);
}
}
return li;
}
}
----------finis
Atitit.减少http请求数方案的更多相关文章
- 页面优化——减少HTTP请求数
1.关于减少http请求数 关于减少http请求数,是前端开发性能优化的一个非常重要方面,所以在基本所有的优化原则里,都有这一条原则:减少http请求数. 先不考虑其他的,我们先考虑为什么减少http ...
- web性能优化--减少客户端请求数(一)
多图标合并,用css分隔 设置较长时间的过期时间 合并多个css文件 合并多个js文件 根据域名划分内容 首先介绍一款速度测试工具:webpagetest(填上url,username,passwor ...
- 高性能WEB开发 为什么要减少请求数,如何减少请求数!
http请求头的数据量 [声明] 转载 原文出处:http://www.blogjava.net/BearRui/. 谢谢我们先分析下请求头,看看每次请求都带了那些额外的数据.下面是监控的googl ...
- 减少HTTP请求之将图片转成二进制并生成Base64编码,可以在网页中通过url查看图片(大型网站优化技术)
在网站开发过程中,对于页面的加载效率一般都想尽办法求快.那么,怎么让才能更快呢?减少页面请求 是一个优化页面加载速度很好的方法.上一篇博文我们讲解了 “利用将小图标合成一张背景图来减少HTTP请求”, ...
- 减少HTTP请求之合并图片详解(大型网站优化技术)
原文:减少HTTP请求之合并图片详解(大型网站优化技术) 一.相关知识讲解 看过雅虎的前端优化35条建议,都知道优化前端是有多么重要.页面的加载速度直接影响到用户的体验.80%的终端用户响应时间都花在 ...
- 高并发大流量专题---3、前端优化(减少HTTP请求次数)
高并发大流量专题---3.前端优化(减少HTTP请求次数) 一.总结 一句话总结: 图片地图:使用<map><area></area></map>标签. ...
- 减少图片HTTP 请求的方案
<Higb Performance Web Sites>(中文名:“高性能网站建设指南”)这本书对于前端工程师来说,绝对值得一读.本人有幸从公司借阅了,但不幸的是感觉翻译有点怪怪的.尤其是 ...
- 前端性能优化 —— 减少HTTP请求
简要:对于影响页面呈选 的因素有3个地方:服务器连接数据库并计算返回数据 , http请求以及数据(文件)经过网络传输 , 文件在浏览器中计算渲染呈选: 其中大约80%的时间都耗在了http请求上,所 ...
- 使用CSS sprites减少HTTP请求
sprites是鬼怪,小妖精,调皮鬼的意思,初听这个高端洋气的名字我被震慑住了,一步步掀开其面纱后发觉很简单的东西,作用却很大 神马是CSS 小妖精 CSS sprites是指把网页中很多小图片(很多 ...
随机推荐
- 对js原型简单的理解和图解
对js原型简单的理解和图解 最近在努力的学习js中,今天就抽了个空把自己理解的原型,记下一下在笔记中,以后自己查看,有空在会把原型链记录一下. 1.prototype prototype:是一个函数的 ...
- 将HTML元素转换成图片供用户下载(html2canvas + canvas2Image)
这是项目中遇到的一个问题,起初觉得把一个html元素生成图片,提供给用户下载的需求挺容易实现的,毕竟看过一些截图的插件,但是在真正操作中遇到了各种各样的问题,比如移动端上截图显示不清晰,html元素中 ...
- Nao 类人机器人,Aldebaran Robotics公司
Nao 类人机器人,Aldebaran Robotics 公司,被SOFTBANK 收购,阿里巴巴.富士康参股. https://www.aldebaran.com/en 一家法国的公司. htt ...
- Android疑难杂症之KillProcess 和System.exit 无效
以下所讲,浓缩在 https://github.com/wytings/CrashDemo 首先就这个名字来说,kill了process 或者 system.exit确实已经把APP杀掉了,特别是当你 ...
- ZOJ3622 Magic Number(水题)
分析: 举个样例xxx(三位数)为魔力数,则xxx|(xxx+1000*y),那么xxx|1000,这个就是结论 同理:四位数xxxx|10000,五位数xxxxx|100000 代码: #inclu ...
- 《javascript高级程序设计》读书笔记(四)引用类型
第五章:引用类型 Object类型 创建object实例的两种方式: 1.new方式 var person = new Object(); person.name = "haozk" ...
- i3wm配置记录
因为工作用的笔记本配置比较差,一直用的是xfce4的桌面环境,最近发现其实基本就在浏览器.终端以及编辑器几个界面切换,所以何不直接用平铺窗口管理器,进一步节约资源. 选了一圈,似乎i3wm比较简单,主 ...
- Caused by: org.apache.ibatis.reflection.ReflectionException我碰到的情况,原因不唯一
映射文件: <select id="selectKeyByUserId" resultMap="Xxx"> <![CDATA[ ...
- TestNG系列之二:TestNG套件测试
测试套件的测试是为了测试软件程序的行为或一系列行为的情况下,是一个集合.在TestNG,我们不能定义一套测试源代码,但它代表的套件是一个XML文件执行特征.这也允许灵活的配置要运行的测试.套件可以包含 ...
- LVS-负载均衡
LVS: LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.章 ...