`

dwr js 压缩

阅读更多

用纯html+DWR(ver 2.0.1)做了个小站,由于基本上都是单机在跑,不怎么关注带宽等等限制(图片几百k的都有)。总算有时间简单优化一下,在做request、respose压缩的时候,想起来dwr的js部分自带个压缩参数,在Tomcat端压缩的基础上还能再优化一点。web.xml里加上这个启动参数。

Java代码 复制代码
  1. <init-param>   
  2.    <param-name>scriptCompressed</param-name>   
  3.    <param-value>true</param-value>   
  4. </init-param>  
  <init-param>
     <param-name>scriptCompressed</param-name>
     <param-value>true</param-value>
  </init-param>



能看到传过来的js去掉了注释和一些空格,进一步在dwr网站帮助里发现隐藏参数compressionLevel,参考org.directwebremoting.util.JavascriptUtil,发现可以进一步压缩js体积。本着能压一点是一点的精神,再增加一个参数

Java代码 复制代码
  1. <init-param>   
  2.    <param-name>compressionLevel</param-name>   
  3.    <param-value>63</param-value>   
  4. </init-param>  
  <init-param>
     <param-name>compressionLevel</param-name>
     <param-value>63</param-value>
  </init-param>


结果发现报错,细读代码,发现COMPRESS_SHRINK_VARS功能还没有实装,难怪这个参数没有公开出来,跳过这个参数,把param-value改成47,能通过了,页面报错,engine.js util.js都有错误。还好事前看到COMPRESS_REMOVE_NEWLINES里有警告,js中默认会补齐行为缺少的分号,而一旦没有换行符,就会报错。
拿来两个js一通改,终于搞定,再开页面,js体积大大减小了。

体会:注释很重要,有加注释的习惯绝对是一宝。
      不能盲目崇拜,满以为dwr自身警告过的错误自己就不会犯....

分享到:
评论

相关推荐

    dwr js压缩

    这个"**dwr js压缩**"可能指的是将DWR库的JavaScript文件进行了压缩优化,以便于减少网络传输的大小,提高网页加载速度。 压缩后的两个文件 `engine.js` 和 `util.js` 很可能是DWR的核心组件: 1. **engine.js**: ...

    dwr 压缩文件 帮助文档

    Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,从而实现动态Web应用程序。DWR压缩文件中的帮助文档旨在为开发者提供详细的指导,帮助他们理解和使用DWR...

    dwr所需要的jar包

    DWR的性能可以通过多种方式进行优化,如启用压缩、调整缓存策略、使用异步调用等。在实际应用中,根据项目的具体需求,合理配置DWR以达到最佳性能。 总的来说,DWR为开发人员提供了一种简单、高效的方式来实现...

    DWR的学习资料,DWR学习必备

    tree.rar:这可能是一个目录结构的压缩文件,展示了DWR项目或者示例应用的文件组织方式。通过查看这个文件,你可以了解DWR项目通常是如何布局的,这对于理解和构建自己的DWR应用非常有帮助。 dwr.war:WAR(Web ...

    ajax的dwr包

    在压缩包子文件的文件名称列表中,"dwr-2.0.5.jar"是DWR框架的二进制库文件,包含了所有DWR的核心类和实现。要使用DWR,开发人员需要将这个jar文件添加到项目的类路径中,这样就可以在服务器端导入DWR的类,并在...

    DWR小代码小例子

    例如,`&lt;script src="/dwr/interface/YourJavaClass.js"&gt;&lt;/script&gt;`,然后就可以通过`YourJavaClass.yourMethod()`来调用Java方法了。 6. **Ajax交互**:DWR的核心特性是实现了无刷新的Ajax通信。当JavaScript调用...

    DWR的配置和传值DWR的配置和传值

    DWR提供了缓存机制、批量调用和压缩传输等功能,以提高性能。例如,通过配置`batch.size`参数,可以设置一次请求中最大可执行的方法数量。 7. **错误处理**: DWR会捕获服务器端的异常并将其传递回客户端,使得在...

    dwr 各种调用方法

    JavaScript调用这部分非常直接,只需引入由DWR自动生成的接口文件`TestClass.js`,以及DWR的核心库`engine.js`和工具库`util.js`。然后,你可以直接调用`testClass.testMethod1()`执行Java方法。 2. **有简单...

    DWR与界面开发 资料大全

    3. **优化性能**:了解如何优化DWR的性能,如缓存策略、压缩传输等。 七、DWR与其他技术的结合 1. **与AJAX库的协作**:DWR可以与Prototype、Dojo、YUI等AJAX库一起工作。 2. **与JSON的交互**:DWR支持JSON数据...

    DWR2.0 中文手册

    8. **性能优化**:DWR 2.0对性能进行了优化,如通过压缩和合并JavaScript文件来减少HTTP请求,以及利用HTTP Keep-Alive来保持连接,提高响应速度。 9. **实战与整合**:DWR可以与各种框架如Struts、Spring、...

    java 采用dwr框架构实现ajax

    DWR允许Java服务器端代码与JavaScript在客户端直接通信,使得Web应用可以像桌面应用一样实时更新,而无需刷新整个页面。 **一、DWR简介** DWR(Direct Web Remoting)是一个开源框架,它简化了Java服务器与...

    DWR中文文档 ,非常详细

    - **dwrc.js**:客户端必须引入的JavaScript库,包含了DWR的核心功能。 4. **基本使用**: - **Remote Objects**:定义可以被JavaScript访问的Java对象。 - **Call Method**:使用`dwr.engine.call`方法调用...

    dwr实现web类似web桌面功能!

    【压缩包子文件的文件名称列表】"dwr_s2sh"可能是一个包含整个项目源码和相关文档的文件夹,其中可能包括以下部分: 1. **配置文件**:如`dwr.xml`是DWR的核心配置文件,定义了哪些Java类和方法可以被JavaScript...

    dwr-3.0.0.rar

    10. **性能优化**:DWR 3.0版本对性能进行了优化,例如,通过批量调用来减少网络请求次数,以及使用GZIP压缩来减小传输数据量。 使用DWR 3.0版本,开发者可以构建出更富交互性和响应性的Web应用,同时避免了传统...

    j2ee使用dwr进行后台交互

    7. **压缩包子文件的文件名称列表:“java使用ajax”**:这可能意味着压缩包中包含了一些关于Java和AJAX交互的示例代码或教程,这些文件可能详细展示了如何在Java应用程序中使用AJAX,或者可能是DWR框架的具体实现...

    DWR-jar包+源码

    标题中的"DWR-jar包+源码"指的是这个压缩包包含DWR的主要jar包(dwr.jar)以及源码jar包(dwr-src.jar),这对于开发者来说是极其宝贵的资源。通过源码,开发者可以深入理解DWR的工作原理,调试代码,或者根据项目...

    DWR框架DWR框架

    DWR(Direct Web Remoting)框架是一个强大的开源工具,专门设计用于简化Web应用程序中的AJAX(Asynchronous JavaScript and XML)开发。DWR的核心理念是提供一种机制,使得JavaScript可以直接调用后端Java方法,...

    DWR3 对象传输与配置 源代码

    压缩文件中的`dwr3test`很可能包含了一个完整的示例应用,包括了`web.xml`、`dwr.xml`以及相关的Java源代码和资源文件。解压后,你可以通过Eclipse导入该项目,并在Tomcat服务器上运行,以查看DWR3如何实现对象传输...

    dwr中文文档,dwr例子

    本压缩包包含的是DWR的中文文档,版本为v0.9,适用于DWR 2.0。文档详细介绍了如何将DWR整合到Spring、Struts、JSF等流行的Java Web框架中,这些框架在企业级应用开发中广泛使用。通过集成DWR,开发者可以利用AJAX...

    dwr+从服务端推送消息到网页

    DWR,全称为Direct Web Remoting,是一种开源JavaScript库,它允许Web应用程序在客户端和服务器之间进行实时、双向通信,实现类似Ajax的效果,但更加便捷。在Java Web开发中,DWR被广泛用于创建动态、交互式的用户...

Global site tag (gtag.js) - Google Analytics