突然奇想想用extjs4做一个外网项目,但是extjs4依赖的文件实在太大,光ext-all.js已经压缩后的都有1.2m,做外网的话速度非常的慢,为了提高速度可以用gzip对文件再进行压缩,最后可以让1.2m的文件压缩成300多k,这样就大大的节省的时间。
1:先使用gzip压缩文件(http://ishare.iask.sina.com.cn/f/15511113.html) 把gzip.exe放在一个目录下面,需要压缩的文件也要放在同目录下面,然后在cmd窗口中也要到同样的目录下面输入:“gzip 文件名” 就会把以前的文件替换成压缩后的文件,然后把后缀名修改成.gzjs
2:因为压缩过后需要浏览器来来解压,所以需要一个过滤器来添加一个头信息告诉浏览器需要解压
- public class GzipFilter implements Filter {
- 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);
- }
- }
- public void doFilter(HttpServletRequest request,
- HttpServletResponse response, FilterChain chain)
- throws IOException, ServletException {
- request.setCharacterEncoding("UTF-8");
- for (Iterator it = headers.entrySet().iterator(); it.hasNext();) {
- Map.Entry entry = (Map.Entry) it.next();
- response.addHeader((String) entry.getKey(), (String) entry.getValue());
- }
- chain.doFilter(request, response);
- }
- 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());
- }
- }
- }
配置了过滤器后需要在web.xml中配置过滤器
- <filter>
- <filter-name>GzipJsFilter</filter-name>
- <filter-class>org.mango.crm.filter.GzipFilter</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>
最后在html文件中引用压缩后的文件
- <script type="text/javascript" src="/resource/extjs/ext-all.js.gzjs"></script>
这样就完成了
相关推荐
Extjs文件管理系统,包括压缩、解压、搜索等
ExtJS原生多文件拖动上传组件 使用时修改包路径 1.多文件上传 2.支持拖动上传 3.支持图片压缩 4.支持图片合并 5.文件排序 可扩展实时图片预览 api //初始化画板 initCanvas //上传文件窗口 uploadWindow //初始化...
Extjs 文件上传 strut2
ExtJS验证文件上传类型,详细讲述ExtJS如何验证文件上传文件的类型!
extjs4.1的js包压缩,压缩成800K左右,加载快很多
Extjs 文件,图片管理系统 Extjs 文件,图片管理系统 Extjs 文件,图片管理系统 Extjs 文件,图片管理系统
功能强大的Struts2.0+Extjs实现的文件上传,包含文件上传进度,文件的下载,压缩,解压多文件删除等
Extjs4文件上传,后台struts2
extjs 多文件上传extjs 多文件上传
Extjs的配置文件,直接将其复制到项目中即可,并附上示例JSP和js程序文件,简单易用,方便学习
ExtJS实现文件下载的方法 前台代码: Ext.get('outputuser').on('click', function(e){ Ext.MessageBox.confirm('提示','确定要导出用户吗?',function(btn){
用Ext编写的多文件上传组件,已封装。 支持多文件上传,文件下载,文件删除,
Extjs 文件图片管理系统 Extjs 文件图片管理系统 Extjs 文件图片管理系统
EXTJS MultiFileUploadField 多文件 上传
支持 自由添加和减少上传文件个数的Extjs多文件上传源代码,10分绝对值得,要注意的一点就是jsp里面引用的Ext的js和css要是2.2版本的
官方或网上ExtJS实现多文件上传的UploadDialog只适用于ExtJS2.x,我经过修改使其使用于ExtJS3.x,并在修改时尽量尊重于原始功能代码,请大家放心使用!
extjs4.0结合My97DatePicker4.7版本使用 使用简单 方便 解决extjs中日期控件不能显示时间的问题 下载后将其放到extjs目录的examples下 直接运行date.html即可 extjs4.0版本 4.0以前的版本没有测试过 如果有4.0版本...
Java+Extjs实现单文件上传
对应的描述看本人博文《ExtJS4 上传文件类型和大小的判断方法(实例) 》:http://blog.csdn.net/biboheart/article/details/10579175 在这里不具体描述了。看题也大概可以知道这些代码实现了什么应用。