简介
作为一个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
分享到:
相关推荐
总的来说,这个压缩包提供了一个全面的学习DWR的资源集合,从理论知识到实践案例,覆盖了DWR的方方面面。通过深入研究这些材料,你不仅可以了解DWR的工作机制,还能学会如何在实际项目中有效地应用它,提升Web应用的...
DWR学习资料 :DWR 3.0 上传文件.txt DWR3.0反向Ajax示例.txt DWR3.0学习笔记.txt DWR3.0学习网址.txt dwr分页.doc DWR分页代码.doc DWR中文文档.doc DWR中文文档.pdf dwr做comet的完整实现.doc Spring整合DWR comet ...
【DWR学习教程3】是针对Direct Web Remoting (DWR)这一JavaScript和Java之间的通信框架的深入学习资料。DWR允许在Web浏览器和服务器之间进行实时、安全且高效的交互,使得前端JavaScript能够调用后端Java方法,极大...
首先,"DWR学习笔记"提供了对DWR基础概念、核心功能以及实际应用的概述。这些笔记可能包含了DWR的基本架构,如它如何通过AJAX技术实现实时的Web交互,以及如何创建和调用服务器端的Java方法。 "DWR中文API"是DWR库...
### DWR框架配置学习教程 #### 一、DWR框架简介与配置 DWR(Direct Web Remoting)是一个用于简化Ajax应用开发的框架,它可以让客户端JavaScript代码直接调用服务器端Java方法,从而大大简化了前端与后端的交互...
- "DWR学习.ppt":可能深入探讨了DWR的高级特性,如批处理、安全控制和性能优化,适合对DWR有一定了解的学习者提升技能。 6. **学习DWR的好处** - **提升效率**:DWR简化了AJAX开发,减少了前端与后端之间的沟通...
总的来说,"学习dwr的一个例子"这个压缩包提供了一个实战平台,帮助初学者理解DWR的使用方法和它在实际项目中的应用,通过学习和研究这个例子,你将能够熟练地将DWR集成到你的Web应用中,提升Web应用的交互性和性能...
在这个DWR学习案例中,你可能会看到如何设置DWR环境,创建Java和JavaScript接口,以及如何进行数据库操作的示例。案例可能包括创建用户界面元素,如表格或表单,用于显示和编辑数据;编写服务器端的Java方法,处理...
本套DWR学习资料旨在帮助初学者快速掌握DWR的基本概念和使用技巧。通过实例和详细的说明,你可以系统地了解如何在实际项目中应用DWR。 1. **DWR的基本概念** - **反向AJAX**:DWR的核心技术之一,允许服务器主动推...
**DWR(Direct Web Remoting)**是一种WEB远程调用框架,主要目的是简化AJAX(Asynchronous JavaScript and XML)开发。通过DWR,开发者可以在客户端的JavaScript中直接调用服务器端的Java方法,并且如同本地调用...
【DWR学习教程2】是针对Direct Web Remoting(DWR)框架的深入学习资源,主要面向希望掌握或提升Web应用程序远程调用能力的开发者。DWR是一个开源Java库,它允许JavaScript在浏览器中直接调用服务器上的Java方法,...
这个“dwr视频教程1”很可能是一系列教程中的第一部分,旨在帮助学习者理解和掌握DWR的基本概念和用法。 DWR的核心功能是提供一种安全、高效的方式,使得JavaScript可以调用服务器上的Java方法,就像是本地函数一样...
**DWR(Direct Web Remoting)框架学习指南** DWR,全称为Direct Web Remoting,是一种在Web应用程序中实现客户端与服务器端之间直接通信的技术。它允许JavaScript在浏览器端直接调用Java方法,实现了真正的Ajax...
DWR2学习整理资料工程最后一部分,第一次搞这东西,传得有点久。
在提供的压缩包文件“DWR与界面开发”中,可能包含了相关的示例代码、教程文档或者DWR项目的实例,这些都是深入学习和实践DWR的好资源。通过阅读和分析这些材料,你可以更全面地了解如何将DWR应用于实际项目,提高...
**DWR 1.0 学习示例** Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,实现Ajax功能。DWR 1.0 版本是早期的一个版本,尽管现在可能已经被更新的版本替代...
这个"**DWR学习资料汇总(PDF)**"压缩包显然是一个包含各种DWR学习资源的集合,旨在帮助开发者快速理解和掌握DWR技术。 DWR的核心功能是提供了一个安全且易于使用的接口,使得JavaScript可以直接调用服务器上的Java...
dwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwr
在本实例中,我们看到的是一个基于DWR的简单登录系统,它包含了一个完整的包,下载后可以直接运行,这对于初学者来说是极好的学习资源。 这个实例主要展示了以下几个知识点: 1. **DWR的基本概念**:DWR的核心是它...
**Ajax学习——DWR的参考书和实用案例学习总结** DWR(Direct Web Remoting)是一种优秀的开源框架,专门用于简化Web应用程序中的Ajax(Asynchronous JavaScript and XML)开发。Ajax技术允许网页在不刷新整个页面...