DWR: Easy AJAX for JAVA

DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务 端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本 DWR0.6添加许多特性如:支持Dom Trees的自动配置,支持Spring(JavaScript远程调用spring bean),更好浏览器支持,还支持一个可选的commons-logging日记操作.

DWR: Easy AJAX for JAVA

DWR是一个Java开源库,帮助你实现Ajax网站。

它可以让你在浏览器中的Javascript代码调用Web服务器上的Java,就像在Java代码就在浏览器中一样。

DWR主要包括两部分:

  • 在服务器上运行的Servlet来处理请求并把结果返回浏览器。
  • 运行在浏览器上的Javascript,可以发送请求,并动态改变页面。
    DWR会根据你的Java类动态的生成Javascript代码。这些代码的魔力是让你感觉整个Ajax调用都是在浏览器上发生的,但事实上是服务器执行了这些代码,DWR负责数据的传递和转换。

这种Java和Javascript之间的远程调用会让DWR用户感觉像是曾经习惯使用的RMI或SOAP的RPC机制。而且这一过程还不需要额外的浏览器插件。

Java是同步的,而Ajax是异步的。所以当你调用一个远程方法时,你要给DWR一个回调函数,当数据从网络上回来时,DWR会调用这个函数。

这个图表现了DWR是如何在onclick事件中改变下拉列表的内容的。

DWR动态为服务端AjaxService类(Java)生成了一个相应的客户端AjaxService类(Javascript)。这个类被 eventHandler调用。DWR就会去处理整个远程调用的细节,包括在Javascript和Java之间转换参数和返回值。然后在这里例子中,它 会执行你提供的回调函数(populateList),这个函数再利用DWR提供的工具函数来更改页面内容。

DWR帮你生产出具有很好交互性的网站,它提供的一些Javascript库帮你处理DHTML,也提供了一些例子做为参考。

要查看如何开始用DWR可以看开始指南和下载DWR

不太喜欢这样的方式,客户端不应该直接调用服务端的方法,这样客户端和服务端的耦合性增大了

时间: 2024-08-04 00:54:34

DWR: Easy AJAX for JAVA的相关文章

方便 Ajax 与 Java EE 的集成

随着 Ajax 的兴起,对于消解这个热门技术的谜团并有针对性地处理在它的使用中出现的问题的需求出现了.高级 IT 专家 Patrick Gan 利用这个机会,研究了在 Java EE Web 应用程序中引入 Ajax 对整个开发生命周期可能产生的影响.对采纳 Ajax 基于异步通信的模式会存在的问题保持清醒,有助于踏上有效集成 Ajax 的正确道路. Asynchronous JavaScript + XML (Ajax)是个相当新的术语(有些人说它是旧酒装新瓶),在不同的 Web 开发社区中,

DWR让AJAX如此简单

ajax 利用DWR开始在你的Web应用中使用javascript:void(0);">AJAX作者:Cloves Carneiro译者:simmone 版权声明:任何获得Matrix授权的网站,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明作者:Cloves Carneiro;simmone原文地址:http://www.javaworld.com/javaworld/jw-06-2005/jw-0620-dwr.html中文地址:http://www.matrix.org.

ZK v5.0.6发布 以AJAX/XUL/Java为基础的网页应用程序开发框架

ZK是一套以 AJAX/XUL/Java 为基础的网页应用程序开发框架,用于丰富网页应用程序的使用界面.最大的好处是,在设计AJAX网络应用程序时,轻松简便的操作就像设计桌面程序一样. ZK包含了一个以AJAX为基础.事件驱动(event-driven).高互动性的引擎,同时还提供了丰富多样.可重复使用的XUL与HTML组件,以及以 XML 为基础的使用介面设计语言 ZK User-interfaces Markup Language (ZUML). ZK 提供超过60个XUL组件及80个XHT

Ajax 的 Java 对象序列化

ajax|对象 如果您正在使用异步 JavaScript 和 XML(Ajax)进行 Java Web 开发,那么您最关心的问题可能就是把数据从服务器传递给客户机.在面向 Java 开发人员的 Ajax 系列的文章中,Philip McCarthy 介绍了 Java 对象序列化的五种方式,并提供了选择最适合应用程序的数据格式和技术所需要的全部信息.本文将侧重于许多 Java Web 开发人员最关心的问题:为客户机生成数据. 多数 Java 开发人员已经把模型-视图-控制器(MVC)模式应用在他们

Ajax 的 Java 对象序列化(1)

ajax|对象 如果您正在使用异步 JavaScript 和 XML(Ajax)进行 Java Web 开发,那么您最关心的问题可能就是把数据从服务器传递给客户机. 在面向 Java 开发人员的 Ajax 系列的文章中,Philip McCarthy 介绍了 Java 对象序列化的五种方式,并提供了选择最适合应用程序的数据格式和技术所需要的全部信息.本文将侧重于许多 Java Web 开发人员最关心的问题:为客户机生成数据. 多数 Java 开发人员已经把模型-视图-控制器(MVC)模式应用在他

AJAX和Java快速开发平台ThinkCap JX

ajax ClearNova将会开源旗下的ThinkCap JX AJAX 和Java 快速开发平台, 基于GPL协议进行开源. ClearNova公司发布的ThinkCap JX 快速平台,基于 Struts, Hibernate, JFreeChart等25种开源框架,把J2EE 和Ajax结合了起来,为开发者提供快速的J2EE和AJAX开发. ThinkCAP JX Workbench,价格499美金,可以创建page flows, forms, persisted objects, da

简化Ajax和Java开发,第1部分:用JSP标记文件动态生成JavaScript代码

很多Web开发人员都经常抱怨说 Java EE 太复杂.构建新的 Web 组件太难.定制现有的组件没有预想的那样简单,并且即便是很小的更改都需要重新启动应用程序.本系列给出了针对这些问题的解决方案,即采用代码生成器.约定.脚本语言和先进的 JavaServer Pages (JSP) 特性.在本文中,您将了解如何基于 JSP 标记文件构建可重用的 Ajax 和 Java 组件,而这些 JSP 标记文件很容易开发和部署.更改之后,JSP 标记文件会由 Java EE 服务器自动重编译,而无须重启应

java spring ajax jsp-jsp页面通过$.ajax请求java后台,但是页面跳转了

问题描述 jsp页面通过$.ajax请求java后台,但是页面跳转了 js代码: function sendForm() { alert("12345"), $.ajax({ type : "get", url : "code/checkcode", data : { "codeNum" : $("#codeNum") }, dataType : "json", success : fu

Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器_javascript技巧

复制代码 代码如下: Easy.Ajax = { proxyPool: { length: function () { var i = 0; for (var p in this) i++; return i - 1; } }, index: 0, async: true, xmlData: false, timeout: 1, defaultHeader: 'application/json; charset=utf-8', clearCache: true, emptyFn: functio