先看看整个工程在eclipse下的结构:
 

第一步:安装jar开发包。

从DWR官方网站http://directwebremoting.org/dwr/下载DWR的开发包。将dwr.jar这个开发包放到{APPLICATION_ WEB_HOME} \WEB-INF\lib目录下。

第二步:修改web.xml,添加Servlet映射。
 

修改后的文件如下:
 

 
  
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" 
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  
  5.     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  6.     <servlet>  
  7.         <servlet-name>dwr-invoker</servlet-name>  
  8.         <servlet-class>  
  9.             org.directwebremoting.servlet.DwrServlet  
  10.         </servlet-class>  
  11.         <init-param>  
  12.             <param-name>debug</param-name>  
  13.             <param-value>true</param-value>  
  14.         </init-param>  
  15.     </servlet>  
  16.     <servlet-mapping>  
  17.         <servlet-name>dwr-invoker</servlet-name>  
  18.         <url-pattern>/dwr/*</url-pattern>  
  19.     </servlet-mapping>  
  20.     <welcome-file-list>  
  21.         <welcome-file>index.jsp</welcome-file>  
  22.     </welcome-file-list>  
  23. </web-app>  

===========================================

 

第三步:创建dwr.xml

在{APPLICATION_WEB_HOME}\WEB-INF目录下创建dwr.xml部署描述文件,其代码如下:
 

 
  
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">  
  3.  
  4. <dwr>  
  5.     <allow>  
  6.         <create javascript="service" creator="new">  
  7.             <param name="class" value="com.mydwr.hello.Hello"/>  
  8.         </create>  
  9.     </allow>  
  10. </dwr>  

      第四步:编写com.mydwr.hello.Hello类 
 

 
  
  1. package com.mydwr.hello;  
  2.  
  3. public class Hello {  
  4.     public String sayHello(String yourName) {  
  5.         return "Hello," + yourName;  
  6.     }  
  7. }  

      第五步:测试DWR

在浏览器地址栏中输入http://127.0.0.1:8080/dwr/dwr/,页面效果如图:
 

单击“service”链接,查看Javascript能够调用的com.mydwr.hello.Hello类的方法,其效果如图11-3所示。单击每个方法后面的“Execute”按钮,尝试执行这些方法。

 

第六步:index.jsp页面

 
  
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  2. <%  
  3.     String path = request.getContextPath();  
  4.     String basePath = request.getScheme() + "://" 
  5.             + request.getServerName() + ":" + request.getServerPort()  
  6.             + path + "/";  
  7. %>  
  8.  
  9. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  10. <html>  
  11.     <head>  
  12.         <base href="<%=basePath%>">  
  13.  
  14.         <title>Hello DWR</title>  
  15.         <meta http-equiv="pragma" content="no-cache">  
  16.         <meta http-equiv="cache-control" content="no-cache">  
  17.         <meta http-equiv="expires" content="0">  
  18.         <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
  19.         <meta http-equiv="description" content="This is my page">  
  20.         <script type='text/javascript' src='dwr/util.js'></script>  
  21.         <script type='text/javascript' src='dwr/engine.js'></script>  
  22.         <script type='text/javascript' src='dwr/interface/service.js'></script>  
  23.         <script type="text/javascript">   
  24.             function firstDwr(){   
  25.             service.sayHello(document.getElementById('name').value,callBackHello);   
  26.             }   
  27.             function callBackHello(data){   
  28.             alert(data);   
  29.             }   
  30.         </script>  
  31.     </head>  
  32.  
  33.     <body>  
  34.         <input type="text" id="name" name="name">  
  35.         <input type="button" value="测试DWR" οnclick="firstDwr()">  
  36.         <br>  
  37.     </body>  
  38. </html> 

 

OK,一切顺利