今天看了一下dwr,感觉还不错,就学习了下,在文档的指导下还是很容易学习的。

1、新建web工程,将附件中的dwr.jar 和 common-logging.jar 导入工程。

配置web.xml

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

新建java类

 

 
  1. package com.wch.dwr;  
  2.  
  3. public class HelloWorld {  
  4.     private String name;  
  5.  
  6.     public HelloWorld(){  
  7.           
  8.     }  
  9.       
  10.     public HelloWorld(String name){  
  11.         this.name = name;  
  12.     }  
  13.       
  14.     public String print(String name){  
  15.         return "name>>>"+name;  
  16.     }  
  17.       
  18.     public String sysout(){  
  19.         System.out.println( "sysout:"+name);  
  20.         return "sysout";  
  21.     }  
  22.  
  23. }  

新建dwr.xml 与web.xml 同级

 
  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting   
  3. 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd"> 
  4. <dwr> 
  5.     <allow> 
  6.         <create javascript="helloworld" creator="new"> 
  7.             <param name="class" value="com.wch.dwr.HelloWorld"></param> 
  8.             <include method="print"/> 
  9.         </create> 
  10.     </allow> 
  11. </dwr> 

编写jsp页面 (注意其中的js引入,dwr开头,那些js都是在dwr的jar包中的)

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

部署运行就可以了