Atitit.减少http请求数方案

1. 原理与方法1

1.1. -------jsp1

1.2. "index/js.txt";2

1.3. connReduceDync2

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请求数方案的更多相关文章

  1. 页面优化——减少HTTP请求数

    1.关于减少http请求数 关于减少http请求数,是前端开发性能优化的一个非常重要方面,所以在基本所有的优化原则里,都有这一条原则:减少http请求数. 先不考虑其他的,我们先考虑为什么减少http ...

  2. web性能优化--减少客户端请求数(一)

    多图标合并,用css分隔 设置较长时间的过期时间 合并多个css文件 合并多个js文件 根据域名划分内容 首先介绍一款速度测试工具:webpagetest(填上url,username,passwor ...

  3. 高性能WEB开发 为什么要减少请求数,如何减少请求数!

    http请求头的数据量 [声明] 转载  原文出处:http://www.blogjava.net/BearRui/. 谢谢我们先分析下请求头,看看每次请求都带了那些额外的数据.下面是监控的googl ...

  4. 减少HTTP请求之将图片转成二进制并生成Base64编码,可以在网页中通过url查看图片(大型网站优化技术)

    在网站开发过程中,对于页面的加载效率一般都想尽办法求快.那么,怎么让才能更快呢?减少页面请求 是一个优化页面加载速度很好的方法.上一篇博文我们讲解了 “利用将小图标合成一张背景图来减少HTTP请求”, ...

  5. 减少HTTP请求之合并图片详解(大型网站优化技术)

    原文:减少HTTP请求之合并图片详解(大型网站优化技术) 一.相关知识讲解 看过雅虎的前端优化35条建议,都知道优化前端是有多么重要.页面的加载速度直接影响到用户的体验.80%的终端用户响应时间都花在 ...

  6. 高并发大流量专题---3、前端优化(减少HTTP请求次数)

    高并发大流量专题---3.前端优化(减少HTTP请求次数) 一.总结 一句话总结: 图片地图:使用<map><area></area></map>标签. ...

  7. 减少图片HTTP 请求的方案

    <Higb Performance Web Sites>(中文名:“高性能网站建设指南”)这本书对于前端工程师来说,绝对值得一读.本人有幸从公司借阅了,但不幸的是感觉翻译有点怪怪的.尤其是 ...

  8. 前端性能优化 —— 减少HTTP请求

    简要:对于影响页面呈选 的因素有3个地方:服务器连接数据库并计算返回数据 , http请求以及数据(文件)经过网络传输 , 文件在浏览器中计算渲染呈选: 其中大约80%的时间都耗在了http请求上,所 ...

  9. 使用CSS sprites减少HTTP请求

    sprites是鬼怪,小妖精,调皮鬼的意思,初听这个高端洋气的名字我被震慑住了,一步步掀开其面纱后发觉很简单的东西,作用却很大 神马是CSS 小妖精 CSS sprites是指把网页中很多小图片(很多 ...

随机推荐

  1. java nio最白话理解

    JAVA NIO是同步非阻塞io.同步和异步说的是消息的通知机制,阻塞非阻塞说的是线程的状态 .下面说说我的理解,client和服务器建立了socket连接:1.同步阻塞io:client在调用rea ...

  2. 使用moment.js管理时间

    如果在nodejs下 npm install moment 引用模块: var moment = require('moment'); 用法: 当前时间:2015-11-07 18:00:51 mom ...

  3. VMware8安装MacOS 10.8

    前一篇博客,介绍了如何利用VMware安装MacOS系统,虽然可以安装成功,但也有不友好的地方,如: 1)MacOS系统文件需要是ISO格式,不是原生的dmg格式: 2)每次开机都需要借助HJMac工 ...

  4. Clone()方法C#

    class DrawBase:System.Object , ICloneable { public string name = "jmj"; public DrawBase() ...

  5. saltstack之mount和umount的用法

    线上很多服务器都需要挂载存储上的公共目录,并实现开机启动(/etc/fstab),比如web的静态文件共享目录,日志远程集中收集等. 一.批量挂载部分. 1.在node1上配置nfs服务器,有关nfs ...

  6. HDU 4372 - Count the Buildings(组合计数)

    首先想过n^3的组合方法,即f(i,j,k)=f(i-1,j,k)*(i-2)+f(i-1,j-1,k)+f(i-1,j,k-1),肯定搞不定 然后想了好久没有效果,就去逛大神博客了,结果发现需要用到 ...

  7. iptables不小心把127.0.0.1封了,导致redis连不上

    写了个脚本扫描apache日志,自动把恶意攻击者的ip交给iptables给封掉 谁知道一不小心把127.0.0.1也给封了... 直接导致redis无法链接. redis-server服务正常启动, ...

  8. redis学习笔记——命令执行流程

    基础知识部分 如果需要掌握Redis的整个命令的执行过程,那么必须掌握一些基本的概念!否则根本看不懂,下面我就一些在我看来必备的基础知识进行总结,希望能为后面命令的整个执行过程做铺垫. 事件 Redi ...

  9. python 静态成员变量

    python 静态成员变量 python 也可以定义静态成员变量,就是类的变量. 注意python的静态成员变量只能通过 类.变量名 的形式获取 class A: a1 = 0 def __init_ ...

  10. ES6 WeakMap Map 区别

    WeakMap与Map的区别 1.WeakMap只接受对象作为键名(null除外),不接受其他类型的值作为键名. 2.WeakMap的键名所指向的对象,不计入垃圾回收机制. 示例: const wm ...