首先到官网http://getahead.ltd.uk/dwr/ 上下载dwr.jar.
一个jar包dwr.jar放到WEB-INF/lib下,一个js文件 HelloWorld1.js,一个index.jsp,一个javabean HelloWorld.java
javabean代码
package
com.dongaoacc.ajaxtest;

public
class
HelloWorld
...
{
public String sayHelloWorldTo(String name) ...{
return "Hello World " + name + "!";
}
}
js代码,放到webroot下

function
helloworld()
...
{
var user = $("user").value;
alert(user);
HelloWorld.sayHelloWorldTo(user, callback);
}

function
callback(msg)
...
{
DWRUtil.setValue("result", msg);
}

jsp代码:
<%
...
@ page language="java" import="java.util.*" pageEncoding="utf-8"
%>


<!
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
>
<
html
>
<
head
>
<
title
>
第一個DWR程式
</
title
>
<
script
type
='text/javascript'
src
='dwr/interface/HelloWorld.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
='HelloWorld.js'
></
script
>

</
head
>

<
body
>
<
input
id
="user"
type
="text"
/>
<
input
type
='button'
value
='测试'
onclick
='helloworld();'
/>
<
div
id
="result"
></
div
>
</
body
>
</
html
>
web.xml:
<?
xml version="1.0" encoding="UTF-8"
?>
<
web-app
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
>
<
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
>
<
welcome-file-list
>
<
welcome-file
>
index.jsp
</
welcome-file
>
</
welcome-file-list
>
</
web-app
>
dwr.xml,与web.xml并列放置:
<?
xml version="1.0" encoding="UTF-8"
?>
<!
DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd"
>
<
dwr
>
<
allow
>
<
create
creator
="new"
javascript
="HelloWorld"
scope
="page"
>
<
param
name
="class"
value
="com.dongaoacc.ajaxtest.HelloWorld"
/>
</
create
>
</
allow
>
</
dwr
>
注意:因为dwr.xml有javascript="HelloWorld",所以在jsp中必须有 <script type='text/javascript' src='dwr/interface/HelloWorld.js'></script>,用来据javabean暴漏给客户端.
另个js解本中方法名不能和类名一样.原来把方法名和类名都为HelloWorld,出现不支持对象或方法错误.小心啊.
测试方法:
本文介绍如何使用 DWR 在 AJAX 中调用 Java 后端服务。通过配置 web.xml 和 dwr.xml 文件,创建 HelloWorld JavaBean,并利用 JavaScript 进行交互,实现了从客户端发起请求并获取响应的过程。
1689

被折叠的 条评论
为什么被折叠?



