-
五 29
-
今天花了点时间研究了一下DWR,跑了一个demo,记录一下我的研究过程.
DWR(Direct Web Remoting)是一个开源的类库,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样.
英文不错的可以直接看官方的英文入门,http://getahead.org/dwr/getstarted
两种方式入门dwr
1.直接从http://getahead.org/dwr/download下载war的程序部署到本机,体验一下dwr能做什么.
2.动手跑一个Hello World,复杂点,但是推荐这种方式.
动手操作步骤:
开始之前请在myeclipse下建立web工程dwrWeb1.下载jar包,放到你的java web应用的WEB-INF/lib 目录下.
注意:从dwr2.0开始,需要用到commons-logging包,没有的到这里下载: http://commons.apache.org/logging/
2.编辑web.xml,加入servlet,让web应用支持dwr
dwr-invoker DWR Servlet org.directwebremoting.servlet.DwrServlet dwr-invoker /dwr/* Tips:servlet-class中的uk.ltd.getahead.dwr.DWRServlet是dwr1.0的写法,2.0中虽然可用,但是不推荐.
在web.xml的同级目录下建立dwr.xml文件,这个配置文件定义了dwr可以创建和调用哪些java类
注意的一点:
<create creator=”new” javascript=”Demo”>中的javascript的值不能是关键字3.建立java类文件
package com.yufeng; public final class Demo { public String hello(String name) { return "恭喜恭喜," + name + "你的dwr程序成功运行!Hava fun!"; } }4.建立js文件
function hello() { var name = dwr.util.getValue("name"); Demo.hello(name, function(data) { dwr.util.setValue("result", data); });5.建立html文件
前三个js并不是实际存在于我们的项目中的,而是通过的路径的映射指向了其他的文件.
好了,大功告成,部署到tomcat上运行http://localhost:8080/dwrWeb看看吧.
效果如下:


1 楼 瀚海
Post: 2008-07-29 10:25 上午
我的和你的一樣,為什麽我的就不行呢?
我的在javascript中不認識dwr下定義的java類
2 楼 小武(http://t263.net)
Post: 2008-08-08 1:19 下午
@瀚海 你把完整的工程下载了看看吧