DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样
它包含两个主要的部分:允许JavaScript从WEB服务器上一个遵循了AJAX原则的Servlet中获取数据.另外一方面一个JavaScript库可以帮助网站开发人员轻松地利用获取的数据来动态改变网页的内容.
DWR采取了一个类似AJAX的新方法来动态生成基于JAVA类的JavaScript代码。这样WEB开发人员就可以在JavaScript里使用Java代码,就像它们是浏览器的本地代码(客户端代码)一样;但是Java代码运行在WEB服务器端而且可以自由访问WEB 服务器的资源。出于安全的理由,WEB开发者必须适当地配置哪些Java类可以安全的被外部使用。[1]
这个从JAVA到JavaScript的远程功能方法给DWR的用户带来非常像传统的RPC机制,就像RMI或者SOAP一样,而且拥有运行在WEB上但是不需要浏览器插件的好处.
DWR不认为浏览器/WEB服务器协议是重要的,而更乐于保证编程界面的简单自然.对此最大的挑战就是把AJAX的异步特性和正常JAVA方法调用的同步特性相结合.在异步模式下,结果数据在开始调用之后的一段时间之后才可以被异步访问获取到.DWR允许WEB开发人员传递一个回调函数,来异步处理Java函数调用过程.
2调用没有返回值和参数的Java方法
2.1、dwr.xml的配置
<dwr>
<allow>
<create creator="new" javascript="testClass" >
<include method="testMethod1"/>
</create>
</allow>
</dwr>
<allow>标签中包括可以暴露给javascript访问的东西。
<create>标签中指定javascript中可以访问的java类名,并定义DWR应当如何获得要进行远程的类的实例。creator="new"属性指定java类实例的生成方式,new意味着DWR应当调用类的默认构造函数来获得实例,其他的还有spring方式,通过与IOC容器Spring进行集成来获得实例等等。javascript=" testClass "属性指定javascript代码访问对象时使用的名称。
<include>标签指定要公开给javascript的方法。不指定的话就公开所有方法。
<exclude>标签指定要防止被访问的方法。
注意:include和exclude不能同时存在
2.2、javascript中调用
首先,引入javascript脚本
<script src='/[WEB-APP]/dwr/interface/ testClass.js'></script>
<script src='/[WEB-APP]/dwr/engine.js'></script>
<script src='/[WEB-APP]/dwr/util.js'></script>
其中TestClass.js是dwr根据配置文件自动生成的,engine.js和util.js是dwr自带的脚本文件。
其次,编写调用java方法的javascript函数
Function callTestMethod1(){
testClass.testMethod1();
}
3 调用有简单返回值的java方法
3.1、dwr.xml的配置
配置同1.1
<dwr>
<allow>
<create creator="new" javascript="testClass" >
<include method="testMethod2"/>
</create>
</allow>
</dwr>
3.2、javascript中调用
首先,引入javascript脚本
其次,编写调用java方法的javascript函数和接收返回值的回调函数
Function callTestMethod2(){
testClass.testMethod2(callBackFortestMethod2);
}
Function callBackFortestMethod2(data){
//其中data接收方法的返回值
//可以在这里对返回值进行处理和显示等等
alert("the return value is " + data);
}
其中callBackFortestMethod2是接收返回值的回调函数
4调用有简单参数的java方法
4.1、dwr.xml的配置
配置同1.1
<dwr>
<allow>
<create creator="new" javascript="testClass" >
<include method="testMethod3"/>
</create>
</allow>
</dwr>
4.2、javascript中调用
首先,引入javascript脚本
其次,编写调用java方法的javascript函数
Function callTestMethod3(){
//定义要传到java方法中的参数
var data;
//构造参数
data = “test String”;
testClass.testMethod3(data);
}
相关推荐
DWR是一种AJAX(Asynchronous JavaScript and XML)的JAVA实现,它提供了一种能在web浏览器端采用JavaScript语言直接调用后台业务商业组件的解决方案。DWR通过JavaScript直接调用远程组件可以减少Web开发的时间,特别...
第一个DWR HelloWorld例子(附:详细说明) 第一个DWR HelloWorld例子(附:详细说明) 第一个DWR HelloWorld例子(附:详细说明)
DWR(Direct Web Remoting)是一个web远程调用框架,利用这个框架可以让AJAX变得很简单,通过DWR可以在客户端通过JavaScript直接调用服务器的Java方法并返回值给JavaScript,整个过程就好像通过本地客户端调用一样,...
本书可以当作一本 DWR 完整的教程,也可以当作一本详细介绍 DWR 的“词典”,我 的目的只是通过本书,希望您能够了解一些 DWR 的基本知识、常用的用户界面组件、远程 方法调用等。并能够搭建 DWR 开发环境,实现 DWR...
DWR初学者专题,有详细笔记。 DWR很轻松就学会。 取得dwr的dwr.jar包和其他dwr所需的其他jar包 web.xml dwr.xml 任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,。。 有几个术语有必要理解,参数叫做...
自己总结的一个的dwr的使用说明,附有源码,以及代码的详细解释,配置文件的详细解释。完全可以运行。同时介绍了与其类似用法的dotnet版本的ajax组建。需要自己下载dwr.jar 3.0版本。或者到我的空间下载dwr.jar 3.0...
Dwr的使用实例 war文件 1. lib要导入包: dwr-2.0.M3.jar 2. web.xml配置: 3. WEB-INF下dwr.xml的配置 4. bean例子: 5. index.jsp的例子 详细内容请下载
包含了dwr推送技术的详细介绍 和 一个基于dwr推送技术的聊天实例
DWR 教程+例子+代码 很不错啊 无论你是新手 还是大牛子 都值得一看
本书可以当作一本DWR完整的教程,也可以当作一本详细介绍DWR的“词典”,我的目的只是通过本书,希望您能够了解一些DWR的基本知识、常用的用户界面组件、远程方法调用等。并能够搭建DWR开发环境,实现DWR的快速开发...
该资源有详细的dwr应用过程,包括截图讲解,示例,资源包,一看就会
详细介绍了dwr及dojo框架的配置及具体应用,是一个很好的实例,可供学习
第二部分详细介绍了Prototype、jQuery、DWR、AjaxTags等四个最常用的Ajax框架的用法,并针对每个框架提供了一个实用案例。这两个部分是笔者在“疯狂Java实训营”的培训讲义,是《疯狂Ajax讲义:Prototype/jQuery+DWR+...
视频资料,dwr视频教程,详细讲解dwr技术,dwr和spring的整合! 1.dwr01_dwr的安装;2.dwr02_dwr的转换器和异常处理;3.dwr03_dwr的util的介绍;4.dwr04_文件上传和与spring进行整合;5.dwr05_dwr的debug和获取...
这是dwr框架的一个小例子,带有详细注释,如果需要文档请打开连接:https://blog.csdn.net/rjkkaikai/article/details/80447923
dwr各种例子各种数据类型(包括基本数据类型,实体,List,List,Map,Map,Object>),导入即可用,有注释,方便理解,另附加详细讲解,一看便懂!
用DWR框架做的一个在页面显示 返回为List类型数据的小例子,里面有详细的注释,用MyEclipse做的,可以直接运行。
DWR开发培训PPT电子书,内容详细! 1、自我介绍 2、DWR概述 3、DWR DEMO介绍 4、DWR实现机制 5、DWR配置说明 6、JS开发注意事项 .....
利用dwr 反转 ajax 做的一个广播,或者说是群聊的小工程, 加入了流技术,加密保存聊天信息至文本文档中,代码有详细注释,页面美观,简洁,........