一、什么是dwr?
DWR(direct web remoting) 是一个web远程调用框架,利用这个框架可以通过javascript代码调用服务端的java类中的方法,所以,可以将它理解成java远程对象调用框架。
看看官网上的两张介绍图:
这是因为dwr框架将java代码翻译成了javascript语言,也就是说,该框架相当于是一个翻译器,客户端的js代码通过这个翻译器就可以对应到后台的java代码。
三、关于使用dwr的注意事项?
毕竟java和javascript是两种差别很大的不同的语言,针对数据类型有不同的处理方式,dwr框架已经对常用的数据类型做了比较成熟的翻译,但是针对一些特殊的业务数据处理还是很有可能需要开发者自己定义convert的。
不得不提的是dwr是一个Ajax框架,它封装了异步引擎对象,对于开发者来说,屏蔽了不同浏览器的兼容性问题。因为它是一个Ajax框架,所以,在调用的时候,客户端部分的代码,并不一定顺序在前的就先执行或者先返回结果。
dwr框架支持commons-logging日志操作,支持dom 树的自动装配。支持通过new的方式创建java的客户端对象;也支持与spring的集成,通过spring的注入来创建java对象。
在使用dwr的时候,最好不要在java中作同名函数,参数类型不同的重载,因为js对数据类型的要求不严格,使用的时候可能会导致错误。
dwr框架将java的参数封装到data变量中,这样在前台可以使用data变量与后台java进行交互(传递、读取)。
dwr与后台的java的互动式通过回调的机制实现的,同时毕竟是js代码,回调函数也可以采用匿名函数的方式。
如果客户端对服务端方法的调用需要按照顺序执行,可以设置调用为同步方式:dwr.engine.setAsync(false);
这里是dwr的官网,关于最新版本和相关的源码以及帮助文档可以从这里下载:http://directwebremoting.org/dwr/downloads/index.html
四、开始使用dwr
1、添加dwr.jar自然不用说
2、
五、关于转换的一些探讨:
未完待续……
原文链接:https://www.f2er.com/ajax/165583.html