陈高杰

kingaragorn

常用链接

统计

最新评论

第一个dwr

第一个DWR

感谢

首先感谢http://blog.csdn.net/caterpillar_here/archive/2006/09/06/1186566.aspx,从这里学的第一个dwr并调试成功了,和网友们共同分享


项目简介和准备

我做的这个dwr的项目目录目录如下:

1)   http://getahead.ltd.uk/dwr/上下载dwr.jar,然后放到WEB-INF/lib下

2)   编写web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>ajaxDWR</display-name>
    <servlet>
        <servlet-name>dwr-invoker</servlet-name>
        <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
        <init-param>
            <description></description>
            <param-name>debug</param-name>
            <param-value>true</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>dwr-invoker</servlet-name>
        <url-pattern>/dwr/*</url-pattern>
    </servlet-mapping>
</web-app>

3)   编写Hello.java
package onlyfun.caterpillar;

public class Hello {
    public String hello(String name) {
        return "Hello!" + name + "!您的第一个DWR!";
    }
}

4)   编写dwr.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
    <allow>
        <create creator="new" javascript="Hello">
            <param name="class" value="onlyfun.caterpillar.Hello"></param>
        </create>
    </allow>
</dwr>

5)   编写index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
        <title>第一个DWR</title>
        <script type='text/javascript' src='dwr/interface/Hello.js'></script>
        <script type='text/javascript' src='dwr/engine.js'></script>
        <script type='text/javascript' src='dwr/util.js'></script>
        <script type='text/javascript' src='hello.js'></script>
    </head>
    <body>
        <input id="user" type="text" />
        <input type='button' value='hello' onclick='hello();' />
        <div id="result"></div>
    </body>
</html>
解释:dwr/interface/Hello.js是由DWRServlet根据dwr.xml中的设定生成的,engine.js负责客户端伺服端沟通,util.js是一些好用的JavaScript程序,可以让你少写很多JavaScript。

6)   编写hello.js
function hello() {
    var user = $('user').value;
    Hello.hello(user, callback);
}

function callback(msg) {
    DWRUtil.setValue('result', msg);
}
解释:${'user'}取得输入栏位的DOM物件,value取得当中的栏位值,而后呼叫Hello.hello(),并将value当作参数传送,结果是呼叫Server端的Hello Java物件,当结果传回后,会呼叫JavaScript的callback函数,DWRUtil的setValue()方法会将传回的msg设定给指定id的DOM。

ok,到此结束。
http://www.blogjava.net/Files/kingaragorn/demo.rar





posted on 2008-07-11 12:42 陈高杰 阅读(193) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: