DWR基本配置

Posted xijin_wu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DWR基本配置相关的知识,希望对你有一定的参考价值。

DWR——Direct Web Remoter Servlet

供给那些想要以一种简单的方式使用Ajax和XMLHttpRequest的开发者。它具有一套JavaScript功能集,它们把从HTML页面调用应用服务器上的Java对象的方法简化了。它操控不同类型的参数,并同时保持了HTML代码的可读性。

DWR不是对一个设计的插入,也不强迫对象使用任何种类的继承结构。它和servlet框架内的应用配合的很好。

 

 

配置步骤:

1.拷贝dwr.jar到WEB-INF/ lib下   下载地址:http://getahead.ltd.uk/dwr/

2.在web.xml中增加dwr配置,WEB-INF目录中建立一个dwr.xml

 

 

  1. <servlet>  
  2.   
  3.        <servlet-name>dwr-invoker</servlet-name>  
  4.   
  5.     <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>  
  6.   
  7.        <!-- 设置为调试模式 -->  
  8.   
  9.        <init-param>  
  10.   
  11.            <param-name>debug</param-name>  
  12.   
  13.            <param-value>true</param-value>  
  14.   
  15.        </init-param>  
  16.   
  17.     </servlet>  
  18.   
  19.     <servlet-mapping>  
  20.   
  21.        <servlet-name>dwr-invoker</servlet-name>  
  22.   
  23.        <url-pattern>/dwr/*</url-pattern>  
  24.   
  25. </servlet-mapping>  

  

3.建立一个被调用的类,和普通java类没有区别

 

 

 

  1. package dwr.test;  
  2.   
  3. public class Service {  
  4.   
  5.     public String getMessage()  
  6.   
  7.     {  
  8.   
  9.        return "this is the dwr invoke test!";  
  10.   
  11.     }  
  12.   
  13. }  

  

4.在WEB-INF下增加dwr的配置文件dwr.xml

 

 

  1. <?xml version="1.0" encoding="UTF-8"?>   
  2.   
  3. <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">   
  4.   
  5.    
  6.   
  7. <dwr>   
  8.   
  9.     <allow>   
  10.   
  11.         <create javascript="service" creator="new">   
  12.   
  13.             <param name="class" value="dwr.test.Service" />   
  14.   
  15.         </create>   
  16.   
  17.     </allow>   
  18.   
  19. </dwr>   

  

5.书写调用

 

 

  1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>    
  2.   
  3. <html>    
  4.   
  5.     <head>    
  6.   
  7.         <title>首页</title>    
  8.   
  9.         <mce:script type="text/javascript" src="dwr/engine.js" mce_src="dwr/engine.js"></mce:script>    
  10.   
  11.         <mce:script type="text/javascript" src="dwr/util.js" mce_src="dwr/util.js"></mce:script>    
  12.   
  13.         <mce:script type="text/javascript" src="dwr/interface/service.js" mce_src="dwr/interface/service.js"></mce:script>    
  14.   
  15.         <mce:script type="text/javascript"><!--  
  16.     
  17.   
  18.              
  19.   
  20.             // 调用服务端getMessage方法   
  21.   
  22.               
  23.   
  24.             function firstDwr(){    
  25.   
  26.               service.getMessage(callBackHello);    
  27.   
  28.             }    
  29.   
  30.           
  31.   
  32.              // 回调方法,显示从服务器返回的信息   
  33.   
  34.             
  35.   
  36.             function callBackHello(data){    
  37.   
  38.                 alert(data);    
  39.   
  40.             }    
  41.   
  42.           
  43. // --></mce:script>    
  44.   
  45.     </head>    
  46.   
  47.     <body>    
  48.   
  49.         <input type="button" name="button" value="测试" onclick="firstDwr()">    
  50.   
  51.     </body>    
  52.   
  53. </html>   

  

 

注意:

这两个js引入是dwr框架的

<script type="text/javascript" src="dwr/engine.js"></script>  

        <script type="text/javascript" src="dwr/util.js"></script> 

第三个<script type="text/javascript" src="dwr/interface/service.js">

是在dwr.xml中我们配置的   <create javascript="service"

调用dwr与调用java方法类似,但调用后存在一个回调函数,结果由回调函数处理

 

 

6.结果:

 

DWR——Direct Web Remoter Servlet

供给那些想要以一种简单的方式使用Ajax和XMLHttpRequest的开发者。它具有一套JavaScript功能集,它们把从HTML页面调用应用服务器上的Java对象的方法简化了。它操控不同类型的参数,并同时保持了HTML代码的可读性。

DWR不是对一个设计的插入,也不强迫对象使用任何种类的继承结构。它和servlet框架内的应用配合的很好。

 

 

配置步骤:

1.拷贝dwr.jar到WEB-INF/ lib下   下载地址:http://getahead.ltd.uk/dwr/

2.在web.xml中增加dwr配置,WEB-INF目录中建立一个dwr.xml

 

 

  1. <servlet>  
  2.   
  3.        <servlet-name>dwr-invoker</servlet-name>  
  4.   
  5.     <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>  
  6.   
  7.        <!-- 设置为调试模式 -->  
  8.   
  9.        <init-param>  
  10.   
  11.            <param-name>debug</param-name>  
  12.   
  13.            <param-value>true</param-value>  
  14.   
  15.        </init-param>  
  16.   
  17.     </servlet>  
  18.   
  19.     <servlet-mapping>  
  20.   
  21.        <servlet-name>dwr-invoker</servlet-name>  
  22.   
  23.        <url-pattern>/dwr/*</url-pattern>  
  24.   
  25. </servlet-mapping>  

  

3.建立一个被调用的类,和普通java类没有区别

 

 

 

  1. package dwr.test;  
  2.   
  3. public class Service {  
  4.   
  5.     public String getMessage()  
  6.   
  7.     {  
  8.   
  9.        return "this is the dwr invoke test!";  
  10.   
  11.     }  
  12.   
  13. }  

  

4.在WEB-INF下增加dwr的配置文件dwr.xml

 

 

  1. <?xml version="1.0" encoding="UTF-8"?>   
  2.   
  3. <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">   
  4.   
  5.    
  6.   
  7. <dwr>   
  8.   
  9.     <allow>   
  10.   
  11.         <create javascript="service" creator="new">   
  12.   
  13.             <param name="class" value="dwr.test.Service" />   
  14.   
  15.         </create>   
  16.   
  17.     </allow>   
  18.   
  19. </dwr>   

  

5.书写调用

 

 

  1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>    
  2.   
  3. <html>    
  4.   
  5.     <head>    
  6.   
  7.         <title>首页</title>    
  8.   
  9.         <mce:script type="text/javascript" src="dwr/engine.js" mce_src="dwr/engine.js"></mce:script>    
  10.   
  11.         <mce:script type="text/javascript" src="dwr/util.js" mce_src="dwr/util.js"></mce:script>    
  12.   
  13.         <mce:script type="text/javascript" src="dwr/interface/service.js" mce_src="dwr/interface/service.js"></mce:script>    
  14.   
  15.         <mce:script type="text/javascript"><!--  
  16.     
  17.   
  18.              
  19.   
  20.             // 调用服务端getMessage方法   
  21.   
  22.               
  23.   
  24.             function firstDwr(){    
  25.   
  26.               service.getMessage(callBackHello);    
  27.   
  28.             }    
  29.   
  30.           
  31.   
  32.              // 回调方法,显示从服务器返回的信息   
  33.   
  34.             
  35.   
  36.             function callBackHello(data){    
  37.   
  38.                 alert(data);    
  39.   
  40.             }    
  41.   
  42.           
  43. // --></mce:script>    
  44.   
  45.     </head>    
  46.   
  47.     <body>    
  48.   
  49.         <input type="button" name="button" value="测试" onclick="firstDwr()">    
  50.   
  51.     </body>    
  52.   
  53. </html>   

  

 

注意:

这两个js引入是dwr框架的

<script type="text/javascript" src="dwr/engine.js"></script>  

        <script type="text/javascript" src="dwr/util.js"></script> 

第三个<script type="text/javascript" src="dwr/interface/service.js">

是在dwr.xml中我们配置的   <create javascript="service"

调用dwr与调用java方法类似,但调用后存在一个回调函数,结果由回调函数处理

 

 

6.结果:

 this is the dwr invoke test!

 

转:http://blog.csdn.net/wklken/article/details/6382315

以上是关于DWR基本配置的主要内容,如果未能解决你的问题,请参考以下文章

DWR以及SSH集成DWR

DWR框架学习

菜鸟调错——Spring与DWR集成,配置文件报错

DWR中使用时,web.xml中设置 <url-pattern>/dwr/*</url-pattern>,但无法生效,请问是为啥?

DWR第二篇之逆向Ajax

DWR(AJAX)+Highcharts绘制曲线图,饼图