dwr 简介
【相关文章:高速局域网的技术抉择】 【扩展阅读:成都卷烟厂网络解决方案】从最简单的角度来说,dwr 是一个引擎,可以把服务器端 java 对象的方法公开给 javascript 代码。使用 dwr 可以有效地从应用程序代码中把 ajax 的全部请求-响应循环消除掉。这意味着客户端代码再也不需要直接处理 xmlhttprequest 对象或者服务器的响应。不再需要编写对象的序列化代码或者使用第三方工具才能把对象变成 xml。甚至不再需要编写 servlet 代码把 ajax 请求调整成对 java 域对象的调用。 【扩展信息:三层交换阻击DoS攻击】dwr 是一个开放源码的使用 apache 许可协议的解决方案,它包含服务器端 java 库、一个 dwr servlet 以及 javascript 库。虽然 dwr 不是 java 平台上唯一可用的 ajax-rpc 工具包,但是它是最成熟的,而且提供了许多有用的功能。
dwr 是作为 web 应用程序中的 servlet 部署的。把它看作一个黑盒子,这个 servlet 有两个主要作用:首先,对于公开的每个类,dwr 动态地生成包含在 web 页面中的 javascript。生成的 javascript 包含存根函数,代表 java 类上的对应方法并在幕后执行 xmlhttprequest。这些请求被发送给 dwr,这时它的第二个作用就是把请求翻译成服务器端 java 对象上的方法调用并把方法的返回值放在 servlet 响应中发送回客户端,编码成 javascript。dwr 还提供了帮助执行常见的用户界面任务的 javascript 工具函数。 关于示例 在更详细地解释 dwr 之前,我要介绍一个简单的示例场景。像在前一篇文章中一样,我将采用一个基于在线商店的最小模型,这次包含一个基本的产品表示、一个可以包含产品商品的用户购物车以及一个从数据存储查询产品的数据访问对象(dao)。item 类与前一篇文章中使用的一样,但是不再实现任何手工序列化方法。图 1 说明了这个简单的设置: 图 1. 说明 cart、catalogdao 与 item 类的类图 ... 下一页