mannoroth 2011-03-30
DWR是DirectWebRemoting的缩写.
DWR是一个开放源码的使用Apache许可协议的解决方案,它包含服务器端Java库、一个DWRservlet以及JavaScript库。虽然DWR不是Java平台上唯一可用的Ajax-RPC工具包,但是它是最成熟的,而且提供了许多有用的功能。
从最简单的角度来说,DWR是一个引擎,可以把服务器端Java对象的方法公开给JavaScript代码。使用DWR可以有效地从应用程序代码中把Ajax的全部请求-响应循环消除掉。这意味着客户端代码再也不需要直接处理XMLHttpRequest对象或者服务器的响应。不再需要编写对象的序列化代码或者使用第三方工具才能把对象变成XML。甚至不再需要编写servlet代码把Ajax请求调整成对Java域对象的调用。
DWR是作为Web应用程序中的servlet部署的。把它看作一个黑盒子,这个servlet有两个主要作用:首先,对于公开的每个类,DWR动态地生成包含在Web页面中的JavaScript。生成的JavaScript包含存根函数,代表Java类上的对应方法并在幕后执行XMLHttpRequest。这些请求被发送给DWR,这时它的第二个作用就是把请求翻译成服务器端Java对象上的方法调用并把方法的返回值放在servlet响应中发送回客户端,编码成JavaScript。DWR还提供了帮助执行常见的用户界面任务的JavaScript工具函数.
使用DWR的优点:
²规范化应用AJAX,紧跟业界技术潮流;
²提高界面响应速度,增强用户体验;
²简化前台开发流程,减少代码量,提高开发效率;
²与GBP的集成比较容易;