`
heimuad
  • 浏览: 296767 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

dwr简介- -zz

    博客分类:
  • ajax
阅读更多

dwr简介- -

                                      

 

最近Ajax比较火,全世界都在讨论。于是我也掺和掺和,直接用XMLHttpRequest?现在的我还没有那个水平。用Echo2或者backbase,又感觉那些纯Ajaxframework太重量级了。我要的只是一些简单的应用而已。于是寻觅的重点放在了一些对xmlhttpRequest进行轻量级包装的代码库上了。于是我找到了DWRDirect Web Remoting)。DWR的口号是AJAX and XMLHttpRequest made easy,并且它也基本上做到了这一点。它提供了一个友好的框架和一些很有用的JavaScript库,可以让我用起Ajax更容易些。详细的信息可以到他们的网站http://www.getahead.ltd.uk/dwr/。顺便在介绍一个网站吧:http://www.ajaxmatters.com 这里也有很多关于Ajax的资源。

 

下面来简单介绍一下DWR

其实在没有XMLHttpRequestDWR就有了,那时它用的是IFrame,效果很差,所以我看看了就没有再diao它。现在的DWR主要用XMLHttpRequest,当然也可以选者用IFrame,但是不推荐。

DWR是个open source software,授权方式是 ASL version 2.0的。现在网站上examples and tutorials做的也不错。我就根据这些东西自己也做了一个应用,在本文的后面我会详细讲到。

现在DWR的最新版本是1.0RC1。在我的试用环境相还算比较稳定,没有出现什么问题。

DWR本身以一个dwr.jarjar包存在,它的入口时一个Servletuk.ltd.getahead.dwr.DWRServlet)所以要在web.xml里配置一下就可以了。具体配置看这里http://www.getahead.ltd.uk/dwr/intro.html。比较简单。dwr为我们提供了一个framework帮我们很容易的实现JavaScriptjava之间的通信。

<shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"></shapetype><stroke joinstyle="miter"></stroke> <formulas> </formulas> <f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f> <lock v:ext="edit" aspectratio="t"></lock>

 

howitworks.png
我还没有看过
dwr的源码,具体他是怎么实现的我也不太清楚。但大致上肯定是通过xmlhttprequest来调用它的servlet然后把数据用xml打包解包了。其实我觉得这部分到不是dwr给我带来的最方便的地方。最方便的地方应该是他的那些js的库。

 

所以下面我要介绍一下它的两个重要js对象。

 

DWREngine engine.js中),DWRUtil (util.js)

 

DWREngine中的方法是基本上是关于XMLHttpRequest的。

 

下面中介绍一些

 

DWREngine.setErrorHandler(handler)

 

默认的错误处理时弹出一个对话框,你可以通过这个方法改变成你需要的表现形式。

 

DWREngine.setWarningHandler(handler)

 

改变默认的警告处理形式

 

DWREngine.beginBatch()

Some Remote Function…

DWREngine.endBatch()

当你有几个远程调用要一起进行时,就要用到这两个方法。

如果不用这两个方法,你就会发现你的远程调用并不以你想象的顺序进行。

DWREngine中还有一些其它的方法,我没有用过。你可以通过dwrjs-doc来看。如果通过文档看不懂它是干什么用的,就看js源码,源码的注释也是比较详细的。

DWRUtil中也有一些很有用的方法。这些方法一般是编写js的辅助方法。

比如setValuegetValue。大多数html标签有value属性,这时你要获取或者设置它的值时就用$(“someid”).value就可以了。但是有些html标记是没有value属性的,它的值时在标签的中间,如1”>some value这时你要取或设它的值的时候就用DWRUtil.setValue($(“span1”)someValue)。这样你就可以在客户端动态的表现一些数据了。

还有很多很好用的方法,dwr的例子中有一些说明,源码中的注释也比较详细。

Dwr就介绍到这里吧。

分享到:
评论

相关推荐

    SpringBoot整合DWR3.0.2-RELEASE独立部署示例代码以及修改过的DWR3.0.2-RELEASE资源JAR包

    该示例资源主要解决如下两个问题,其一就是解决SpringBoot集成DWR3.0.2-RELEASE版本,无配置文件快速简洁完成集成工作,省去dwr.xml等DWR框架初始化需要的配置文件;其二就是解决了集成后的SpringBoot项目在开发环境...

    整理好的DWR-2.0.5-src

    这个不是我的原创,原文件出至这里:...原资源包含了,源代码和API Doc,只是美中不足的是没有整理成可用的zip文档,我这特分离了一下,并重新打好包了,初步测试了一下能用。

    DWR--学习参考文档

    这份"DWR--学习参考文档"显然是一个关于DWR技术的综合学习资源,包含了丰富的信息,帮助开发者深入理解和应用DWR。 DWR的核心概念主要有以下几个: 1. **Remoting**:远程调用是DWR的关键特性,它使得JavaScript...

    dwr入门 -- 03 -- 结合Spring

    标题 "dwr入门 -- 03 -- 结合Spring" 指向的是一个关于Direct Web Remoting (DWR)框架如何与Spring框架整合的教程。DWR是一个Java库,允许在浏览器和服务器之间进行实时、双向通信,使得JavaScript可以直接调用Java...

    DWR3.0.2-RELEASE修改版源码(解决资源加载问题导致的和SpringBoot整合后SpringBoot项目无法以独立JAR运行)

    DWR (Direct Web Remoting) 是一个开源的Java库,允许Web应用程序在浏览器和服务器之间进行实时通信。在本案例中,我们关注的是DWR 3.0.2-RELEASE的一个修改版,这个版本专门针对与Spring Boot 1.x集成时出现的问题...

    dwr入门 -- 01 -- Hello Word

    ### 一、DWR简介 DWR的核心概念是"Remoting",即远程调用,它使得JavaScript可以像调用本地方法一样调用服务器上的Java方法。DWR通过一系列的转换和封装,实现了浏览器与服务器之间的跨域通信,支持多种数据类型...

    dwr-1.1.3-src.zip

    标题 "dwr-1.1.3-src.zip" 指示的是 Direct Web Remoting (DWR) 的源代码版本1.1.3的压缩包。DWR 是一个开源Java库,它允许JavaScript在Web浏览器中与服务器端的Java对象进行交互,实现Ajax功能。描述中的内容同样...

    dwr,jar和dwr-noncla.jar

    在给定的压缩包中,我们有两个核心的DWR库文件:`dwr.jar`和`dwr-noncla.jar`,以及两个重要的配置文件:`web.xml`和`dwr.xml`。 首先,`dwr.jar`是DWR的主要库文件,包含了所有实现DWR功能的类和接口。这个库使得...

    dwr-2.0.6-src完整包

    DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站,其中包含jar包,javadoc,例子等

    dwr入门 -- 02 -- HelloWord解释&&使用javabean

    DWR (Direct Web Remoting) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,实现动态的Web应用。在"HelloWorld解释&&使用javabean"这个主题中,我们将深入理解DWR的基本概念、工作...

    dwr-3.0.jar

    最新dwr3.0的包,有需要的朋友就下载吧

    struts2-dwr-plugin-2.2.3.jar

    struts2与dwr结合的工具之一,这个是新从官方网站下载的,与大家分享,希望对你们有效。

    dwr-1.13.jar及dwr.xml

    dwr-1.1.3.jar及dwr.xml. dwr-1.1.3与dwr-2.0的dwr.xml略有区别: dwr-1.1.3 &lt;!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" ...

    dwr包.rar dwr.jar engine.js util.js dwr-noncla.jar readme.txt

    dwr包.rar dwr.jar engine.js util.js dwr-noncla.jar readme.txt JAR File: dwr.jar (1.08Mb) To DWR enable your web-app WAR File: dwr.war (4.62Mb) Demos/Examples of what DWR can do Sources: dwr-...

    dwr.jar/dwr-2.0.5-src.zip/dwr.zip

    这可能是一个重复的文件,或者包含了与dwr.jar和dwr-2.0.5-src.zip不同的内容,比如可能是DWR的配置文件、文档或者特定环境的构建版本。通常,这样的zip文件会包含部署所需的全部资源,包括Web应用的结构和配置文件...

    dwr-1.1.1-util.js

    dwr-1.1.1-util.js

    spring-dwr-2.0.xsd

    spring-dwr-2.0.xsd spring 与 DWR进行配置

    dwr-2.0.5-src.part1.rar

    传不了太大的,分3份传上来 dwr-2.0.5-src dwr-2.0.5-src

    dwr-2.0.5-src.rar

    在解压"Dwr-2.0.5-src.rar"后,你会得到一个名为“dwr-2.0.5-src”的文件夹,这个文件夹中包含了以下关键知识点: 1. **源码结构**:DWR的源代码通常会按照模块进行组织,如核心库、安全模块、测试用例等。通过分析...

Global site tag (gtag.js) - Google Analytics