Step 1: Download
从网站下载 DWR: http://getahead.ltd.uk/dwr/download
导入jar
dwr.jar
commons-logging-1.0.4.jar(dwr 3.0需要这个包)
Step 2: web.xml
修改 web.xml, 新增 DwrServlet <servlet> <display-name>DWR Servlet</display-name> <servlet-name>dwr-invoker</servlet-name> <servlet-class> org.directwebremoting.servlet.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>Step 3: dwr.xml
将远端 Java 物件注册到 dwr.xml
参考:dwr.jar/org.directwebremoting/dwr.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd"> <dwr> <allow> <create creator="new" javascript="helloWorld"> <param name="class" value="com.wepull.dwr.HelloWorld"></param> </create> </allow> </dwr>
Step 3 测试
测试 DWR
将代码放入应用服务器(比如Tomcat),启动。
然后在地址栏输入:
http://localhost:8080/工程名称/dwr
Step 4 前台页面
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>testDWR.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<script type="text/javascript"
src="/1102_DWR/dwr/interface/helloWorld.js"></script>
<script type='text/javascript' src='/1102_DWR/dwr/engine.js'></script>
<script type='text/javascript' src='/1102_DWR/dwr/util.js'></script>
<script type="text/javascript">
function sayHello(){
//helloWorld 为helloWorld.js 中的helloWorld
//callBack 是个回调函数
helloWorld.sayHello(callBack);
}
//text为服务器传到前台的数据
function callBack(text){
alert(text);
// var obj = document.getElementById("sp1");
//DWR 中可以$("sp1") 来获取对象
var obj = $("sp1"); //sp1是id名
obj.innerHTML = text;
}
</script>
</head>
<body>
<input type="button" value="调用后台sayHello()方法" οnclick="sayHello()">
<span id="sp1"></span>
</body>
</html>
附:后台代码
package com.wepull.dwr;
public class HelloWorld {
public String sayHello(){
System.out.println("执行了 sayHello()方法");
return "hello world";
}
}