DWR入门教程

来源:互联网 发布:数据分析考研方向 编辑:程序博客网 时间:2024/04/26 02:48

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

废话少说,现在就搞起,
请先到 http://getahead.ltd.uk/dwr/ 下载 dwr.jar ,放到 WEB-INF/lib

负责处理客户端请求,并呼叫 Java 对象的是 DWRServlet DWR 其实也有些 Model 2 的味道,只是 View 的这一层比较弱,因为放到客户端的 JavaScript 应用程序中

web.xml 中加入 DWRServlet…

接下来写个简单的 Hello 吧!

客户端要呼叫这个 Java 对象,传给它参数,而后传回一个字符串,客户端再显示这个字符串,神奇?其实是要告诉 DWRServlet 这件事,这需要一个 dwr.xml,在WEB-INF目录下建立这个这个文件:

creator 设定为 new ,表示使用 Hello 的无参数建构子来生成对象, javascript 设定为 Hello ,表示客户端 JavaScript 程序可以使用 Hello 来呼叫对应的 onlyfun.caterpillar.Hello 物件。

来写个客户端的网页,当中有一个输入字段,这里我们建立一个index.html,内容如下:

dwr/interface/Hello.js 是由 DWRServlet 根据 dwr.xml 中的设定生成的, engine.js 负责客户端伺服端沟通, util.js 是一些好用的 JavaScript 程序,可以让您少写很多 JavaScript

hello.js 是我们自定义的函式,按下按钮后,会呼叫当中的 hello() 函式,因而 需要在当前文件夹下建立一个hello.js:

${'user'} 取得输入字段的 DOM 对象, value 取得当中的域值,而后呼叫 Hello.hello() ,并将 value 当作参数传送 结果是呼叫 Server 端的 Hello Java 对象,当结果传回后,会呼叫 JavaScript callback 函式, DWRUtil setValue() 方法会将传回的 msg 设定给指定 id DOM ,结果就是 啥! AJAX 的功能在哪 就这个而言就是发出异步请求,而响应不用 Refresh 页面啦!