`
lunch
  • 浏览: 76938 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

DWR介绍及应用

阅读更多

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
  1. <servlet>    
  2. <servlet-name>dwr-invokerservlet-name>    
  3. <display-name>DWR Servletdisplay-name>    
  4. <servlet-class>uk.ltd.getahead.dwr.DWRServletservlet-class>    
  5. <init-param>    
  6. <param-name>debugparam-name>    
  7. <param-value>trueparam-value>    
  8. init-param>    
  9. servlet>    
  10. <servlet-mapping>    
  11. <servlet-name>dwr-invokerservlet-name>    
  12. <url-pattern>/dwr/*url-pattern>    
  13. servlet-mapping>    
xml 代码
dwr .xml
Dwr自己相关的配置信息
<p:colorscheme colors="#ffffff,#000000,#1c1c1c,#333399,#00e4a8,#ffcf01,#ff0000,#3333cc"></p:colorscheme>  
xml 代码
  1. <dwr>    
  2.   <allow>    
  3.     <create creator="new" javascript=“UserDwrAction">    
  4.       <param name="class“    
  5.              value=“com.dwr.demo.action.UserDwrAction"/>    
  6.     create>    
  7.  <convert converter=”bean”    
  8.       match=”com.dwr.demo.model.User”/>    
  9.   allow>    
  10. dwr>    
dwr.xml-- create

dwr.xml文件中的create元素的结构如下:
creatorjavascript名字是重点。

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 代码
  1. <create creator=“new” javascript=“UserDwrAction” >  
  2. <param name=“class”    
  3.     value=“com.dwr.demo.action.UserDwrAction” />  
  4. <include method=“getAllUsers“ />  
  5. <include method=“saveUser“ />    
  6. create>  

  如果<include method=“”/>没有配置;那class内的所有方法都是被允许调用的


Spring
xml 代码
  1. <create creator= “spring” javascript=“spring” >  
  2. <param name=“beanName” value=“****” />  
  3. 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 代码

  1. <script src='/[YOUR-WEBAPP]/dwr/interface/[YOUR-SCRIPT].js'>  
  2.   script>  
  3. <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

分享到:
评论
5 楼 lunch 2007-05-13  
简单的来说,DWR是一个对AJAX的封装,它是一个框架。而YUI是一个组件库,用于呈现各种效果。
4 楼 super_094 2007-05-13  
DWR和YUI有什么不同吗?
3 楼 edwardpro 2007-05-11  
简单实用
2 楼 lunch 2007-05-11  
自己顶一个
1 楼 liujx2005 2007-05-11  
不错,我看了看

相关推荐

    DWR技术的应用

    在将DWR应用到项目中时,要确保采取适当的安全措施,以防止潜在的注入攻击和其他安全威胁。 为了最大限度地利用DWR,开发者需要熟悉JavaScript以及Java后端编程。只有这样,才能充分利用DWR提供的全部功能,编写出...

    AJAX--dwr开发及应用

    \第五部分ajax\第15章 AJAX--dwr开发及应用\第15章 AJAX--dwr开发及应用.ppt )

    DWR介绍

    ### DWR介绍 #### 一、DWR概述 DWR(Direct Web Remoting)是一种用于简化客户端JavaScript调用服务器端Java方法的技术。它通过Ajax技术实现了网页上的JavaScript直接调用服务器端的Java对象,极大地提高了Web应用...

    dwr,dojo框架应用实例

    DWR 是一个开源JavaScript库,允许Web应用程序在客户端和服务器之间进行实时通信,即实现Ajax(异步JavaScript和XML)功能。它简化了JavaScript与Java后端服务的交互,让开发者能够调用服务器上的方法,就像它们是...

    DWR3.0应用

    **DWR3.0应用详解** DWR (Direct Web Remoting) 是一种JavaScript库,它允许Web应用程序在客户端和服务器之间进行实时通信,无需刷新页面。DWR3.0是其一个重要版本,提供了对现代浏览器的支持,包括新版的Opera,但...

    DWR框架的应用示例

    DWR(Direct Web Remoting)框架是一个开源的Java库,它允许Web应用程序在客户端和服务器之间进行实时的、异步的通信,无需刷新整个页面。这个框架极大地提升了用户体验,因为它使得JavaScript可以调用服务器端的...

    AJAX框架DWR简单应用

    在提供的“AJAX框架DWR简单应用.pdf”文件中,你可能会找到关于如何设置DWR环境、编写Java接口、配置DWR配置文件、在前端JavaScript中使用DWR,以及示例代码和实际运行效果的详细教程。这个文件是学习和理解DWR工作...

    dwr应用实例

    通过以上介绍,我们可以看到DWR在构建动态Web应用时发挥的作用,它为开发人员提供了一种方便的方式来实现前后端的数据交互,提高了用户体验。然而,随着现代前端框架(如React、Vue)和Web通信技术(如WebSockets)...

    dwr框架的应用实例

    DWR (Direct Web Remoting) 是一个开源的Java框架,用于在...通过上述介绍,我们可以看到DWR框架如何简化AJAX开发,以及如何在实际项目中应用。了解并熟练掌握这些知识点,将有助于你构建更加高效、易于维护的Web应用。

    dwr小项目及资料

    标题中的“dwr小项目及资料”暗示我们这是一套关于DWR的实践项目和学习资源,可能包含了一些示例代码和文档,帮助我们理解如何在实际项目中应用DWR。 描述中提到的“实现前台javascript直接调用后台业务方法和后台...

    DWR框架的应用

    DWR(Direct Web Remoting)框架是一个开源的Java库,它允许Web应用程序在客户端JavaScript和服务器端Java之间进行实时通信,有效地打破了传统的浏览器与服务器之间的请求-响应模式。DWR使得开发者可以像操作本地...

    DWR中文文档DWR

    - 该中文文档将详细介绍DWR的安装、配置、使用方法以及常见问题的解决,是学习DWR的重要参考资料。 通过深入学习这份DWR中文文档,开发者不仅可以掌握DWR的基本用法,还能了解到如何在实际项目中有效利用DWR提升...

    DWR入门与应用

    #### 一、DWR简介及安装配置 DWR(Direct Web Remoting)是一种简化Ajax开发的框架,它使得Java开发者能够更轻松地将服务器端的Java对象暴露给客户端的JavaScript代码进行调用。通过DWR,开发者无需编写复杂的...

    结合Spring 与DWR 构建Ajax 应用

    1. **环境搭建**:确保项目中已引入Spring框架、DWR框架及相关的库文件。 2. **配置SpringMVC**:设置SpringMVC的DispatcherServlet,定义视图解析器、拦截器等。 3. **配置DWR**:在项目中添加DWR的配置文件,...

    dwr的简单应用程序

    在"Dwr的简单应用程序"中,我们可以推测这将介绍如何创建一个基础的DWR应用,可能包括以下步骤: 1. **安装与配置**:首先,我们需要在项目中添加DWR库,通常是通过Maven或Gradle依赖管理。然后,在Web项目的`web....

    dwr框架简单应用示例

    通过这个简单的DWR应用示例,初学者可以了解如何设置DWR环境,配置允许的Java方法,以及在客户端使用JavaScript调用这些方法。进一步学习DWR,可以深入理解其高级特性,如批量处理、异步调用、错误处理等,从而更...

    DWR调用及传参总结

    以下是对DWR调用及传参方式的详细说明: 1. **无返回值和参数的Java方法调用**: 当Java方法没有返回值且不接受参数时,可以像`callTestMethod1`那样直接调用。在JavaScript中,只需执行`testClass.testMethod1()`...

Global site tag (gtag.js) - Google Analytics