1、写了个测试bean,js中直接调用该测试bean的方法,接下来不知道怎么配置dwr...以前的项目中配置文件太多,于是先去求助于google,然后再参考以前的项目。
在web.xml中添加dwr的servlet:
<servlet> <servlet-name>dwr</servlet-name> <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>dwr</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping>
新建dwr.xml文件:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr//dwr20.dtd"> <dwr> <allow> <create creator="spring" javascript="TestDwrBean"> <param name="beanName" value="testDwrBean"/> </create> <convert converter="bean" match="dwr.TestDwrBean"/> </allow> </dwr>
不要忘了在配置文件中定义testDwrBean。dwr.xml文件中的convert元素不要忘写,我第一次就没加这个东西,然后报错:Page not found...。
2、在html文件中加入下面的代码:
<script type="text/javascript" src="dwr/interface/testDwrBean.js"></script>
3、差不多了,测试一下,结果firebug里报错:dwr.engine._execute is not a function,google之,大部分人说可能是js路径写错了,我又确认了下,没错啊,后来在网上看到dwr/engine.js这个东西,再在html文件中加入:
<script type="text/javascript" src="dwr/engine.js"></script>
神啊,终于可以用了~
engine.js对DWR非常重要,因为它是被动态生成的接口的javascript函数调用的,所以只要用到DWR的地方就需要它。每一个页面都需要引入主DWR引擎。
dwr/*处理的请求种类:
(1)dwr/index.html,dwr/test/这种只能在debug模式下使用,调试用。
dwr/engine.js,dwr/util.js,dwr/deprecated.js当这个请求到达,从dwr.jar包中读取文件流,响应回去。(重复请求有缓存)
(2) 当dwr/interface/这种请求到来,(例如我们在index.html中的 <script type="text/java script" src="dwr/interface/JDate.js"></script>)DWR做一件伟大的事。把我们在WEB-INF /dwr.xml中的
<create creator="new" java="" script="JDate"></create>
java.util.Date转化为java script函数。
细节也比较简单,通过java反射,把方法都写成java script特定的方法。(我觉得这些转换可以放到缓存里,下次调用没必要再生成一遍,不知道作者为什么没这样做)。
(3)dwr/exec ,java script调用方法时发送这种请求,可能是XMLHttpRequest或IFrame发送。
相关推荐
- 在配置dwr.xml时,需要注意安全性问题。例如,不应该让所有Java方法都暴露给客户端调用。 - 对于复杂的数据结构,需要确保客户端能够正确解析服务器返回的数据。 - 需要关注DWR的版本兼容性问题,不同版本间的API...
### DWR使用方法详解:逐步指南 #### 一、引言 DWR(Direct Web Remoting)是一种简化Ajax开发的框架,它允许在浏览器端直接调用服务器端的方法,如同调用本地对象一样简单。本篇文章将从安装DWR、配置相关文件到...
8. **集成与调试**:理解如何将DWR与其他前端框架(如jQuery或AngularJS)集成,并使用DWR的内置调试工具进行问题排查。 9. **实战项目**:“[浪曦原创]零散视频三 使用DWR开发AJAX For J2EE(JustCode).wrf”可能是...
9. **安全考虑**:在实际项目中,使用DWR时需要注意安全性问题。暴露给JavaScript的服务器端方法可能会引发安全风险,因此需要谨慎设置DWR的访问权限,避免敏感数据和操作被不授权的用户调用。 通过这个简单的DWR...
**DWR(Direct Web Remoting)使用方法详解** DWR,全称为Direct Web Remoting,是一种开源Java技术,用于在Web应用程序中实现浏览器与...然而,实际使用时还需注意安全性和性能优化,确保应用的稳定性和用户体验。
DWR通过在客户端和服务器之间建立一个通信层,使得开发者可以轻松地在JavaScript中使用Java对象,极大地简化了前后端交互的复杂性。 DWR的核心组件包括: 1. **DWRServlet**:这是DWR的主要入口点,它是一个...
2. **安全机制**:DWR内置了安全机制,如JavaScript白名单、请求签名等,以防止跨站脚本攻击(Cross-Site Scripting,XSS)和其他潜在的安全问题。 3. **缓存管理**:DWR支持客户端缓存,可以优化多次调用相同方法...
`使用DWR开发AJAXForJ2EE.rar`可能是一个包含示例代码和项目结构的压缩文件,演示了如何使用DWR在J2EE环境中构建Ajax应用。这个资源对于初学者尤其有价值,因为它提供了动手实践的机会,通过模仿和修改示例来加深对...
dwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwr
在DWR配置中指定这些类,然后在页面加载时,DWR会自动注入相应的JavaScript代码。 5. **Struts配置**:在Struts的Action配置文件中,设置Action来处理DWR发起的请求。这些请求通常是通过DWR的JavaScript函数触发的...
对于初学者来说,这是一个很好的起点,它涵盖了DWR基本的使用方式和配置,同时也提供了一个可运行的示例,帮助理解Ajax通信的工作原理。通过深入学习和实践,你可以利用DWR构建更复杂的交互式Web应用。
DWR (Direct Web Remoting) 是一个开源Java库,它允许在Web应用程序中实现JavaScript与服务器端Java对象的直接交互,极大地简化了AJAX(Asynchronous JavaScript and XML)的使用。在J2EE环境中,DWR作为一个强大的...
**配置使用DWR:** 1. **准备库文件**:DWR的核心引擎dwr.jar,以及日志、XML解析、多线程、script构造器、DI框架等支持库,例如commons-logging、xalan、backport-util-concurrent、bsf、xml-apis、dom4j、jdom、...
- DWR提供了错误处理机制,当服务器端或网络出现问题时,可以在JavaScript中捕获错误信息。 - 开发模式下,DWR会提供详细的调试信息,帮助定位问题。 9. **优化与性能**: - 使用Batching功能,将多个请求合并...
`ajaxReg(解决中文问题)`可能解决了在使用Ajax注册功能时遇到的中文字符编码问题。 通过学习和实践这些资源,开发者可以深入理解DWR如何与Ajax结合,实现高效的Web应用交互。同时,掌握DWR可以帮助开发者避免编写...
Direct Web Remoting (DWR) 是一个开源Java库,它允许Web应用程序在浏览器和服务器之间进行实时、安全的双向通信,有效地打破...然而,正确配置和使用DWR,以及处理好跨域安全问题,是每个开发者必须面对和解决的挑战。
下面我们将详细探讨DWR的配置和使用方法。 首先,配置DWR涉及以下几个关键步骤: 1. **引入DWR库**:在项目中添加dwr.jar,这是DWR的核心库,包含了所有必要的类和接口。 2. **创建Java类**:定义你需要在客户端...
- 该中文文档将详细介绍DWR的安装、配置、使用方法以及常见问题的解决,是学习DWR的重要参考资料。 通过深入学习这份DWR中文文档,开发者不仅可以掌握DWR的基本用法,还能了解到如何在实际项目中有效利用DWR提升...
这篇博客文章“关于使用DWR返回对象List的方法”主要探讨了如何通过DWR框架在Java后端处理数据并以List对象的形式返回给前端JavaScript。 在Web开发中,通常我们需要从服务器获取数据并在客户端展示,DWR通过AJAX...
这个接口需要被DWR识别,所以我们需要使用DWR的注解(如`@RemoteProxy`)来标记它。 在Spring中,我们还需要为这些接口提供实现类,处理业务逻辑并调用消息推送服务。Spring的依赖注入可以帮助我们将其他服务(如...