`
sunxboy
  • 浏览: 2869682 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

使用DWR出现“例外被抛出且未被接住”错误的原因和解决办法

阅读更多

DWR提供了两个js文件:engine.js和util.js,通常来说我们都是动态来引用这两个js文件,在官方的例子中也是这样做的(其中dwr是mapping时的路径):

  1. < script type = " text/javascript " src = " /dwr/engine.js " ></ script >
  2. < script   type = " text/javascript " src = " /dwr/util.js " ></ script >

但是根据页面优化原则,我们如果将所有的js文件进行压缩整合在一起 的话将会极大的减少页面加载的时间。但是当我们将上面的两个js文件下载下来然后跟其他js文件整合压缩之后,访问页面的时候会出现一个“例外被抛出且未被接住”的脚本错误。

用百度搜索了一下基本只搜到一篇名为《dwr应用时请注意(初学者)》 的文章,文章中建议使用他在附件中所提供的dwr.jar包。但是作者所提供的dwr版本有些低,另外作者并没有在文章中说明造成问题的原因。

后来将异常转换为英文 Exception thrown and not caught 在google中搜索了一下,得知是因为没有在页面中动态引用engine.js,因为dwr在运行的时候需要动态控制这个文件。

但是这样的话就达不到压缩engine.js文件的目的了,我无意中在官方看到一篇专门讲解怎样缓存engine.js文件的文章 ,下面我就将作者建议的做法说明如下:

首 先使用动态加载engine.js文件,然后将该文件下载下来。打开下载下来的engine.js文件,然后将第226到242行之间的文字剪切下来,然 后将dwr.jar包中的org/directwebremoting/engine.js文件内容删除,然后粘贴到该文件中并替换dwr.jar包中原 来的engine.js文件,内容大致如下:

  1. dwr . engine . _origScriptSessionId = " ${scriptSessionId} " ;
  2. dwr . engine . _sessionCookieName = " ${sessionCookieName} " ;
  3. dwr . engine . _allowGetForSafariButMakeForgeryEasier = " ${allowGetForSafariButMakeForgeryEasier} " ;
  4. dwr . engine . _scriptTagProtection = " ${scriptTagProtection} " ;
  5. dwr . engine . _defaultPath = " ${defaultPath} " ;
  6. dwr . engine . _pollWithXhr = " ${pollWithXhr} " ;

这样就可以将下载下来的engin.js文件同其他文件进行压缩合并了,但是在页面中还必须动态引用engine.js:

  1. < script type = " text/javascript " src = " /dwr/engine.js " ></ script >

这样一来即压缩了engine.js文件中静态的部分,又使用了engine.js中的动态部分,并且最重要的是“例外被抛出且未被接住”异常也不会再出现了。

参考资料:
Caching engine.js

分享到:
评论

相关推荐

    dwr例外被抛出且未被接住

    博文链接:https://zmfkplj.iteye.com/blog/232326

    DWR框架实例及常见问题解决办法,免费放送

    5. **异常处理**:在JavaScript中处理服务器端抛出的异常,提供友好的错误提示,以增强用户体验。 6. **版本兼容性**:确保DWR版本与使用的其他库(如JavaScript库、服务器端框架等)兼容,避免出现不兼容问题。 7...

    dwr demo dwr简单使用

    8. **调试与优化**:DWR提供了丰富的日志功能和错误处理机制,这有助于你在开发过程中调试和优化代码。通过调整`dwr.xml`的配置,你可以控制日志的详细程度。 9. **安全考虑**:在实际项目中,使用DWR时需要注意...

    dwr使用例子配置和使用

    4. **配置DWR**:创建一个名为`dwr.xml`的文件,放置在`WEB-INF`目录下,用于告诉DWR哪些Java对象和方法可以被客户端访问。在这个文件中,我们需要配置`Citys`类的创建规则。 ```xml &lt;dwr&gt; &lt;!-- 城市列表分类 --...

    dwr和ajax使用demo

    【DWR(Direct Web Remoting)与Ajax技术详解】 DWR(Direct Web Remoting)是一种在Web应用程序中...理解并掌握DWR和Ajax的结合使用,能够极大地提升你的Web开发能力,让你能构建出更加高效、用户体验优良的应用。

    jquery和dwr.utls冲突解决

    通过上述方法之一或结合使用,可以有效地解决jQuery和DWR.utls之间的冲突,确保两者的正常工作。在实际开发中,理解这些技术并灵活应用,可以帮助我们构建更稳定、更可靠的Web应用程序。在遇到类似问题时,应该首先...

    dwr 包的 使用入门

    - DWR提供了错误处理机制,当服务器端或网络出现问题时,可以在JavaScript中捕获错误信息。 - 开发模式下,DWR会提供详细的调试信息,帮助定位问题。 9. **优化与性能**: - 使用Batching功能,将多个请求合并...

    DWR 框架使用手册

    2. **DWR配置文件(dwr.xml)**:这是DWR的配置中心,用于声明哪些Java类和方法可以被JavaScript访问。默认情况下,DWR会查找`WEB-INF/dwr.xml`,但可以通过Servlet的初始化参数指定多个配置文件。 - 当需要多个`...

    java dwr 使用例子

    对于初学者来说,这是一个很好的起点,它涵盖了DWR基本的使用方式和配置,同时也提供了一个可运行的示例,帮助理解Ajax通信的工作原理。通过深入学习和实践,你可以利用DWR构建更复杂的交互式Web应用。

    DWR使用方法-step by step

    ### DWR使用方法详解:逐步指南 #### 一、引言 DWR(Direct Web Remoting)是一种简化Ajax开发的框架,它允许在浏览器端直接调用服务器端的方法,如同调用本地对象一样简单。本篇文章将从安装DWR、配置相关文件到...

    DWR的使用方法

    **DWR(Direct Web Remoting)使用方法详解** DWR,全称为Direct Web Remoting,是一种开源Java技术,用于在Web应用程序中实现浏览器与服务器之间的实时双向通信。它允许JavaScript直接调用Java方法,就像它们在...

    dwr跨域访问以及dwr的使用+dwr.jar

    Direct Web Remoting (DWR) 是一个开源Java库,它允许Web应用程序在浏览器和服务器之间进行实时、安全的双向通信,有效地打破...然而,正确配置和使用DWR,以及处理好跨域安全问题,是每个开发者必须面对和解决的挑战。

    DWR 视频教程 使用DWR开发AJAX For JavaEE

    7. **错误处理**:学习DWR提供的错误处理机制,如何捕获并处理客户端和服务器端的异常。 8. **集成与调试**:理解如何将DWR与其他前端框架(如jQuery或AngularJS)集成,并使用DWR的内置调试工具进行问题排查。 9....

    dwr dwrdwr

    dwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwr

    dwr长连接demo

    DWR(Direct Web Remoting)是一种Java库,用于在Web应用程序中实现Ajax功能,它允许JavaScript与服务器端的Java代码进行交互,实现页面的实时更新而无需刷新整个页面。DWR通过建立持久的HTTP连接(长连接)来提高...

    dwr和ajax技术

    5. **集成DWR和Ajax**:理解何时使用DWR,何时使用纯Ajax,以及如何将两者结合使用,以优化Web应用性能。 6. **实战应用**:通过阅读提供的文档和示例,实践创建简单的DWR和Ajax应用,如实时搜索、无刷新表格更新等...

    DWR技术文档、快速使用DWR、java技术

    4. **创建Java接口和服务**:定义要在客户端调用的Java接口和服务类,确保这些类和方法被DWR允许访问。 5. **生成JavaScript接口**:DWR会自动生成与Java接口对应的JavaScript接口,供客户端使用。 **使用DWR的...

    dwr原理深入透彻讲解

    10. **错误处理**:DWR还提供了错误处理机制,当服务器端抛出异常或者通信出现问题时,可以在客户端捕获并显示错误信息。 理解DWR的这些工作原理对于开发人员来说至关重要,它能帮助你更有效地利用DWR进行前后端...

    DWR中文文档 (DWR 2.0)

    2. **异常**:了解DWR可能抛出的各种异常类型及其含义。 3. **找出更多信息**:利用日志记录和其他调试工具来诊断问题。 **8.3 传递额外的数据到回调函数**:除了基本的返回结果外,还可以传递其他数据到回调函数,...

    DWR 长连接方式上传图片

    6. **错误处理**:在上传过程中,DWR可以捕获和处理可能出现的错误,例如网络中断或文件格式不支持等,确保了健壮性。 7. **安全考虑**:为了防止跨站脚本攻击(XSS)和跨站请求伪造(CSRF),DWR提供了内置的安全机制...

Global site tag (gtag.js) - Google Analytics