DWR Is Easy Ajax For Java
简介
作为一个java open source library;DWR可以帮助开发人员完成应用AJAX技术的web程序。它可以让浏览器上的JavaScript方法调用运行在web服务器上java方法。
最大挑战是java method call的同步特征与Ajax异步特性之间的矛盾。在异步模型里;结果只有在方法结束后才有效。DWR解决了这个问题;把回调函数当成参数传给方法;处理完成后;自动调用回调方法
安装DWR的Jar包
下载dwr.jar文件 。把它放到你的webapp的WEB-INF/lib目录下。
DWR官方网站:
http://getahead.org/dwr
DWR下载地址:http://getahead.org/dwr/download
配置
web.xml
配置DWR的Servlet
- <servlet>
- <servlet-name>dwr-invokerservlet-name>
- <display-name>DWR Servletdisplay-name>
- <servlet-class>uk.ltd.getahead.dwr.DWRServletservlet-class>
- <init-param>
- <param-name>debugparam-name>
- <param-value>trueparam-value>
- init-param>
- servlet>
- <servlet-mapping>
- <servlet-name>dwr-invokerservlet-name>
- <url-pattern>/dwr/*url-pattern>
- servlet-mapping>
xml 代码
dwr .xml
Dwr自己相关的配置信息
<p:colorscheme colors="#ffffff,#000000,#1c1c1c,#333399,#00e4a8,#ffcf01,#ff0000,#3333cc"></p:colorscheme>
xml 代码
- <dwr>
- <allow>
- <create creator="new" javascript=“UserDwrAction">
- <param name="class“
- value=“com.dwr.demo.action.UserDwrAction"/>
- create>
- <convert converter=”bean”
- match=”com.dwr.demo.model.User”/>
- allow>
- dwr>
dwr.xml-- create
dwr.xml文件中的create元素的结构如下:
creator和javascript名字是重点。
creator属性 是必须的 - 它用来指定使用那种创造器。
默认情况下DWR1.1有8种创造器。它们是:
new: 用Java的new关键字创造对象。
spring: 通过Spring框架访问Bean。
jsf: 使用JSF的Bean。 (v1.1+)
struts: 使用Struts的FormBean。 (v1.1+)
Javascript 用于指定浏览器中这个被创造出来的对象的名字。你不能使用Javascript的关键字。
Scope 非常类似servlet规范中的scope。 它允许你指定这个bean在什么生命范围。选项有“application”; “session”; “request” 和“page”。scope属性是可选的。默认是“page”。
Param 被用来指定创造器的其他参数;每种构造器各有不同。例如;“new”创造器需要知道要创建的对象类型是什么(class)。
Include & exclude 允许创造器来限制类中方法的访问。一个创造器必须指定include列表或exclude列表之一。如果是include列表则暗示默认的访问策略是"拒绝";如果是exclude列表则暗示默认的访问策略是"允许"。
我们常用的create: new和spring
new
xml 代码
- <create creator=“new” javascript=“UserDwrAction” >
- <param name=“class”
- value=“com.dwr.demo.action.UserDwrAction” />
- <include method=“getAllUsers“ />
- <include method=“saveUser“ />
- create>
如果<include method=“”/>没有配置;那class内的所有方法都是被允许调用的
Spring
xml 代码
- <create creator= “spring” javascript=“spring” >
- <param name=“beanName” value=“****” />
- create>
dwr.xml -- converter
我们必须保证所有的参数都可以被转换。JDK中的多数类型已经有转换器了;但是你需要给DWR转换你的代码的权利。一般来说JavaBean的参数需要一个<convert></convert>定义。
默认情况下;如下类型不需要定义就可以转换:
所有的原生类型 boolean;int;double; 等等
原生类型的对象类型 Boolean;Integer;等等
java.lang.String
java.util.Date 和SQL中的Date
以上类型组成的数组
以上类型的集合类型 (Lists; Sets; Maps; Iterators; 等)
从DOM; XOM; JDOM 和 DOM4J中的DOM对象 (类似 Element 和 Document)
怎么在你的web应用中使用
在你的jsp页面中加入以下两行代码,这两行是必须的
你也可以把其中/[YOUR-WEBAPP]/替换成你的web页面的相对路径。
如果是JSP最好用request.getContextPath()
xml 代码
- <script src='/[YOUR-WEBAPP]/dwr/interface/[YOUR-SCRIPT].js'>
- script>
- <script src='/[YOUR-WEBAPP]/dwr/engine.js'>script>
下面这行是可选的,主要封装了一些javascript方法
<script src="/[YOUR-WEBAPP]/dwr/util.js"></script>
其他
DWR的官方文档十分详细地址:
http://getahead.org/dwr/documentation
中文wiki知识库.地址是:http://wiki.javascud.org/display/dwrcn/Home
util.js包含了一些工具函数来帮助你用javascript数据(例如从服务器返回的数据)来更新你的web页面。
你可以在DWR以外使用它,因为它不依赖于DWR的其他部分。
$()
addRows and removeAllRows
getText
getValue
getValues
setValue
setValues
分享到:
- 2007-05-11 11:51
- 浏览 3024
- 评论(5)
- 论坛回复 / 浏览 (1 / 6239)
- 查看更多
相关推荐
在将DWR应用到项目中时,要确保采取适当的安全措施,以防止潜在的注入攻击和其他安全威胁。 为了最大限度地利用DWR,开发者需要熟悉JavaScript以及Java后端编程。只有这样,才能充分利用DWR提供的全部功能,编写出...
\第五部分ajax\第15章 AJAX--dwr开发及应用\第15章 AJAX--dwr开发及应用.ppt )
### DWR介绍 #### 一、DWR概述 DWR(Direct Web Remoting)是一种用于简化客户端JavaScript调用服务器端Java方法的技术。它通过Ajax技术实现了网页上的JavaScript直接调用服务器端的Java对象,极大地提高了Web应用...
DWR 是一个开源JavaScript库,允许Web应用程序在客户端和服务器之间进行实时通信,即实现Ajax(异步JavaScript和XML)功能。它简化了JavaScript与Java后端服务的交互,让开发者能够调用服务器上的方法,就像它们是...
**DWR3.0应用详解** DWR (Direct Web Remoting) 是一种JavaScript库,它允许Web应用程序在客户端和服务器之间进行实时通信,无需刷新页面。DWR3.0是其一个重要版本,提供了对现代浏览器的支持,包括新版的Opera,但...
DWR(Direct Web Remoting)框架是一个开源的Java库,它允许Web应用程序在客户端和服务器之间进行实时的、异步的通信,无需刷新整个页面。这个框架极大地提升了用户体验,因为它使得JavaScript可以调用服务器端的...
在提供的“AJAX框架DWR简单应用.pdf”文件中,你可能会找到关于如何设置DWR环境、编写Java接口、配置DWR配置文件、在前端JavaScript中使用DWR,以及示例代码和实际运行效果的详细教程。这个文件是学习和理解DWR工作...
通过以上介绍,我们可以看到DWR在构建动态Web应用时发挥的作用,它为开发人员提供了一种方便的方式来实现前后端的数据交互,提高了用户体验。然而,随着现代前端框架(如React、Vue)和Web通信技术(如WebSockets)...
DWR (Direct Web Remoting) 是一个开源的Java框架,用于在...通过上述介绍,我们可以看到DWR框架如何简化AJAX开发,以及如何在实际项目中应用。了解并熟练掌握这些知识点,将有助于你构建更加高效、易于维护的Web应用。
标题中的“dwr小项目及资料”暗示我们这是一套关于DWR的实践项目和学习资源,可能包含了一些示例代码和文档,帮助我们理解如何在实际项目中应用DWR。 描述中提到的“实现前台javascript直接调用后台业务方法和后台...
DWR(Direct Web Remoting)框架是一个开源的Java库,它允许Web应用程序在客户端JavaScript和服务器端Java之间进行实时通信,有效地打破了传统的浏览器与服务器之间的请求-响应模式。DWR使得开发者可以像操作本地...
- 该中文文档将详细介绍DWR的安装、配置、使用方法以及常见问题的解决,是学习DWR的重要参考资料。 通过深入学习这份DWR中文文档,开发者不仅可以掌握DWR的基本用法,还能了解到如何在实际项目中有效利用DWR提升...
#### 一、DWR简介及安装配置 DWR(Direct Web Remoting)是一种简化Ajax开发的框架,它使得Java开发者能够更轻松地将服务器端的Java对象暴露给客户端的JavaScript代码进行调用。通过DWR,开发者无需编写复杂的...
1. **环境搭建**:确保项目中已引入Spring框架、DWR框架及相关的库文件。 2. **配置SpringMVC**:设置SpringMVC的DispatcherServlet,定义视图解析器、拦截器等。 3. **配置DWR**:在项目中添加DWR的配置文件,...
在"Dwr的简单应用程序"中,我们可以推测这将介绍如何创建一个基础的DWR应用,可能包括以下步骤: 1. **安装与配置**:首先,我们需要在项目中添加DWR库,通常是通过Maven或Gradle依赖管理。然后,在Web项目的`web....
通过这个简单的DWR应用示例,初学者可以了解如何设置DWR环境,配置允许的Java方法,以及在客户端使用JavaScript调用这些方法。进一步学习DWR,可以深入理解其高级特性,如批量处理、异步调用、错误处理等,从而更...
以下是对DWR调用及传参方式的详细说明: 1. **无返回值和参数的Java方法调用**: 当Java方法没有返回值且不接受参数时,可以像`callTestMethod1`那样直接调用。在JavaScript中,只需执行`testClass.testMethod1()`...