`
yxgyh
  • 浏览: 274275 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

压缩extjs

    博客分类:
  • Ext
阅读更多

1.使用gzip.exe打包压缩后的JS文件,最后生成xx.js.gz,把xx.js.gz文件改成xx.gzjs。

   压缩实例: ext3.2.0 ext-all.js (662KB), gzip.exe压缩后为ext-all.gzjs(181KB)。 
   gzip使用方法:gzip.exe拷贝到 ext-all.js 同一目录

   在命令行下输入: gzip -9 ext-all.js ext-all.js.gz  修改ext-all.js.gz的后缀名ext-all.gzjs

2.web.xml中加入过滤器

<filter> 
      <filter-name>GzipJsFilter</filter-name> 
      <filter-class>net.kangsoft.util.GzipJsFilter</filter-class> 
      <init-param> 
          <param-name>headers</param-name> 
          <param-value>Content-Encoding=gzip</param-value> 
      </init-param> 
</filter> 
<filter-mapping> 
   <filter-name>GzipJsFilter</filter-name> 
   <url-pattern>*.gzjs</url-pattern> 
</filter-mapping> 

 3.加入过滤类

package com.tfyy.yx.util;

import java.io.IOException; 
import java.util.HashMap; 
import java.util.Iterator; 
import java.util.Map; 
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.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

public class GzipJsFilter 
implements Filter 
{ 
@SuppressWarnings("unchecked")
Map headers = new HashMap(); 

public void destroy() { } 

public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) 

throws IOException, ServletException { 
    if (req instanceof HttpServletRequest) 
      doFilter((HttpServletRequest)req, (HttpServletResponse)res, chain); 
    else 
      chain.doFilter(req, res); 
} 

@SuppressWarnings("unchecked")
public void doFilter(HttpServletRequest request, HttpServletResponse response, 

FilterChain chain) 
    throws IOException, ServletException 
{ 
    request.setCharacterEncoding("UTF-8"); 
    for (Iterator it = this.headers.entrySet().iterator(); it.hasNext(); ) { 
      Map.Entry entry = (Map.Entry)it.next(); 
      response.addHeader((String)entry.getKey(), (String)entry.getValue()); 
    } 
    chain.doFilter(request, response); 
} 

@SuppressWarnings("unchecked")
public void init(FilterConfig config) throws ServletException { 
    String headersStr = config.getInitParameter("headers"); 
    String[] headers = headersStr.split(","); 
    for (int i = 0; i < headers.length; ++i) { 
      String[] temp = headers[i].split("="); 
      this.headers.put(temp[0].trim(), temp[1].trim()); 
    } 
} 
}

 

4.在需导入js的页面head里面添加导入文件,

如:<script type="text/javascript" src="js/ext3/ext-all.gzjs"></script>

分享到:
评论
2 楼 silvernet 2010-09-23  
需要IIS开启gzip压缩吧
1 楼 379548695 2010-08-13  
这个很有用顶了。以前直接在tomcat里面配置的。最近换到6.0之后配置了好像不起作用。楼主这个刚才我测试了。180kb

相关推荐

    extjs4.1压缩版

    extjs4.1的js包压缩,压缩成800K左右,加载快很多

    Javascript开发之js压缩篇.pdf

    作者使用yui-compressor压缩ExtJS库和其他js文件,实现了较好的压缩效果。 在使用yui-compressor时,作者推荐使用ANT来自动化压缩过程。ANT是一个基于Java的构建工具,可以自动化构建过程。作者提供了一个使用ANT的...

    ExtJS5学习之Hello World

    对于工具标签,可能涉及到了开发工具,如Sencha CMD,这是一个用于自动化构建、打包和压缩ExtJS应用程序的命令行工具。 在学习过程中,`extjs5-demo`这个压缩包文件可能包含了示例代码、配置文件和其他相关资源,...

    Extjs开发包

    6. `build` 或 `tools` 目录:可能包含构建工具,如Sencha CMD,用于自动化构建和压缩 ExtJS 应用。 7. `license.txt`:GPL许可证文件,详细说明了软件的使用和分发规则。 使用这个开发包,开发者可以学习如何配置...

    ExtJS4 Spekt代码补全插件

    请下载的朋友注意看软件说明哦。 1,官方下载最新的ExtJS4.0.2版本,地址:...2,解压缩ExtJS4.0.2 3,将这个文件拷贝到ExtJS4.0.2解压缩根目录 4,Eeclipse中Spket关联这个文件即可实现代码提示。 Good luck.

    让我们开始EXTJS之旅EXTJS_WEB开发指南

    开始ExtJS之旅的第一步是要获得开发包,可以从...• build目录是ExtJS压缩后的代码,经过压缩的代码 体积更小,加载更快。 • docs中当然是ExtJS的文档了,其中最重要的是 ExtJS的API,这是开发ExtJS程序过程中的法宝。

    包含各种类型的extjs小图标,Extjs4小图标

    - "5000个extjs小图标"意味着这个压缩包包含大量的图标资源,覆盖了各种常见和特定的功能,开发者可以根据需要选择合适的图标,提高应用的美观度和易用性。 5. **自定义图标**: - ExtJS 4允许开发者自定义图标,...

    Extjs4.1 小例子(适合extjs初学者学习使用)

    在"ExtjsStudy"这个压缩包子文件中,可能包含的文件有: 1. **HTML文件**:这些文件通常包含ExtJS应用的主页面,它们会引入ExtJS库和相关的CSS样式文件,同时初始化应用程序。 2. **JavaScript文件**:这些是ExtJS...

    ExtJS经典皮肤集合

    5. **优化性能**:合理管理和压缩CSS文件,减少页面加载时间。 此外,ExtJS还支持动态皮肤切换,用户可以在运行时根据自己的喜好更改界面风格,这需要在代码中实现皮肤切换逻辑。 总的来说,ExtJS经典皮肤集合是...

    ExtJS2.0教程.chm +Extjs2.2.1压缩包

    `ext-all-debug.js` 和 `ext-all.js`:这两个文件是ExtJS的核心库,分别包含所有组件和功能的未压缩(debug)和压缩版本。未压缩版本对于调试很有用,因为代码中的错误更容易被识别;而压缩版本则用于生产环境,以...

    界面框架extjs学习笔记

    6. `source`:未经压缩的EXTJS完整源码,遵循Lesser GNU (LGPL) 开源协议,方便开发者查看和学习EXTJS的内部实现。 7. `ext-all.js`:压缩后的EXTJS完整库,包含了所有的组件和功能。 8. `ext-core.js`:仅包含...

    EXTJS4.0视频教程配套代码

    第二讲:extjs4.0的新特性(附件较大做了分包压缩大家只要下载3个包运行001就ok了) [02]EXTJS4.0的新特性.003.zip (14.41M)[02]EXTJS4.0的新特性.002.zip (50.00M)[02]EXTJS4.0的新特性.001.zip 第三讲:extjs4.0...

    extjs6.2 SDK下载

    使用6.2版的CMD,开发者可以创建、扩展和管理项目,执行代码压缩、合并和优化,以及生成文档。 5. **布局管理**:EXTJS拥有强大的布局系统,6.2版本可能会进一步完善,提供更多的布局选项和更好的自适应布局,以...

    extjs 2000个 icon 图标素材

    不过,由于这里提到的是"压缩包子文件的文件名称列表"为"exticons",我们可以推测这可能是一个包含多个PNG图像文件的文件夹,每个文件代表一个不同的图标。 使用这些图标素材时,开发者可以将它们整合到ExtJS应用中...

    使用ExtJS6.0开发应用框架(源码)压缩分卷1

    资源 http://download.csdn.net/detail/superlazy/8948511 对应的源码 分卷1

    EXTJS 目录文件打包压缩工具 并可加密解密

    标题提到的"EXTJS 目录文件打包压缩工具"是针对EXTJS项目开发的一种实用工具,它的主要目的是帮助开发者对EXTJS的源代码文件进行整理、压缩和打包。 在EXTJS开发过程中,通常会涉及到大量的JavaScript、CSS、图像和...

    Extjs文件管理系统

    按钮点击事件会触发相应的压缩或解压缩操作,这些操作通常由 ExtJS 的 Action 或 Button 组件实现。 搜索功能是另一个关键模块。文件管理系统通常会有一个搜索框,用户可以输入关键词进行查找。在后端,可能需要...

    extjs2.1 开发包

    同时,这个目录也包含了压缩和优化过的JavaScript文件,以便在生产环境中使用。 适配器(adapter)是EXTJS为了兼容不同浏览器而提供的代码,它使得EXTJS的应用能在各种浏览器环境下正常工作。EXTJS 2.1的适配器可能...

    extjs3源文件下载

    9. **性能优化**:通过延迟加载、脚本压缩和合并等方式,可以优化页面加载速度和运行效率。 10. **社区支持**:ExtJS拥有活跃的社区,开发者可以在这里找到示例、插件、教程和解答疑问。 通过下载和研究ExtJS 3的...

    extjs.zip包

    EXTJS.zip包是一个包含了EXTJS框架所有必要组件和资源的压缩文件,提供给开发者免费下载和使用。它以其丰富的组件库、高度可定制性和良好的用户体验而受到广泛欢迎。这个工具包是开发Web应用程序时的好帮手,尤其...

Global site tag (gtag.js) - Google Analytics