Dwr
DWR(Direct Web Remoting)是一个WEB远程调用框架
源码概况[ ]
授权协议:免费软件
运行环境:JavaScript
官方网站:http://directwebremoting.org/dwr/index.html
软件下载:站长下载
概述[ ]
利用DWR可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本DWR0.6添加许多特性如:支持Dom Trees的自动配置,支持Spring(JavaScript远程调用spring bean),更好浏览器支持,还支持一个可选的commons-logging日记操作.
DWR是一个开源的类库,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样.
它包含两个主要的部分:允许JavaScript从WEB服务器上一个遵循了AJAX原则的Servlet(小应用程序)中获取数据.另外一方面一个JavaScript库可以帮助网站开发人员轻松地利用获取的数据来动态改变网页的内容.
DWR采取了一个类似AJAX的新方法来动态生成基于JAVA类的JavaScript代码.这样WEB开发人员就可以在JavaScript里使用Java代码就像它们是浏览器的本地代码(客户端代码)一样;但是Java代码运行在WEB服务器端而且可以自由访问WEB 服务器的资源.出于安全的理由,WEB开发者必须适当地配置哪些Java类可以安全的被外部使用.
这个从JAVA到JavaScript的远程功能方法给DWR的用户带来非常像传统的RPC机制,就像RMI或者SOAP一样,而且拥有运行在WEB上但是不需要浏览器插件的好处.
DWR不认为浏览器/WEB服务器协议是重要的,而更乐于保证编程界面的简单自然.对此最大的挑战就是把AJAX的异步特性和正常JAVA方法调用的同步特性相结合.在异步模式下,结果数据在开始调用之后的一段时间之后才可以访问.DWR解决了这个问题,允许WEB开发人员使用一个特殊的方法参数来指定一个函数,以便在数据返回后来回调此函数.
开发过程[ ]
- 编写业务代码,该代码是和dwr无关的。
- 确认业务代码中哪些类、哪些方法是要由javascript直接访问的。
- 编写dwr组件,对上面步骤的方法进行封装。
- 配置dwr组件到dwr.xml文件中,如果有必要,配置convert,进行java和javascript类型互转。
- 通过反射机制,dwr将步上面骤的类转换成javascript代码,提供给前台页面调用。
- 编写网页,调用上面步骤的javascript中的相关方法(间接调用服务器端的相关类的方法),执行业务逻辑,将执行结果利用回调函数返回。
- 在回调函数中,得到执行结果后,可以继续编写业务逻辑的相关javascript代码。