`
mooncui
  • 浏览: 72719 次
社区版块
存档分类
最新评论

DWR学习笔记一

    博客分类:
  • AJAX
阅读更多

参看http://getahead.org/

一、DWR简介

DWR是一个开源的java包,可以使浏览器中的代码使用web服务器中java类的方法,就像这个方法就是在浏览器中一样。

DWR包括两个部分:一个运行在服务器端的Java Servlet,负责处理浏览器的请求并发送反馈给浏览器;另一个是运行在浏览器端的Java Script,负责发生请求并动态修改web页面。

DWR的原理就是基于java类动态产生javascript代码,AJAX使得服务器端java类的方法好像是在是在浏览器端执行的,这种类似传统RPC机制,就很象RMI,或SOAP。而且它的优势是在web上运行但不需要浏览器插件。


二、步骤:
1.下载dwr.jar,放在WEB-INF/lib 或其他合适地方
2.修改web.xml,增加:
<servlet></servlet>

<servlet></servlet>

  1. <servlet>  
  2.   <servlet-name>dwr-invokerservlet-name>  
  3.   <display-name>DWR Servletdisplay-name>  
  4.   <servlet-class>uk.ltd.getahead.dwr.DWRServletservlet-class> //如果是DWR 2.x,改成org.directwebremoting.servlet.DwrServlet   
  5.   <init-param>  
  6.      <param-name>debugparam-name>  
  7.      <param-value>trueparam-value>  
  8.   init-param>  
  9. servlet>  
  10.   
  11. <servlet-mapping>  
  12.   <servlet-name>dwr-invokerservlet-name>  
  13.   <url-pattern>/dwr/*url-pattern>  
  14. servlet-mapping>  


  3.创建dwr.xml

如:<servlet-name></servlet-name>

  1. <!---->
  2.     "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"   
  3.     "http://www.getahead.ltd.uk/dwr/dwr10.dtd">  
  4.   
  5. <dwr>  
  6.   <allow>  
  7.     <create creator="new" javascript="JDate"> //JS使用的类名 
  8.       <param name="class" value="java.util.Date"/>  //实际java的类
  9.     <create>  
  10.     <create creator="new" javascript="Demo" scope="page/request/session/application"> //可以设置对象保存的位置
  11.       <param name="class" value="your.java.Bean"/>  
  12.     create>  
  13.   allow>  
  14. dwr>  

 这个XML文件是定义DWR可以创建什么类并可以被JS远程调用。

 注意不要使用保留字,注意不要让一个方法负担过重。

4.访问URL:

http://localhost:8080/[YOUR-WEBAPP]/dwr/

 可以看到dwr.xml中定义的类,点击某个类,可以看到这个类有哪些方法可以调用。以及在js中需要include哪个js,还可以在这个页面上测试各个方法。

一般jsp页面中需要加入: <script type="text/javascript" src="&lt;a href=&quot;http://envysiongdc.boldtech.com/dwr/engine.js&quot;&gt;/dwr/engine.js&lt;/a&gt;"></script>  <script type="text/javascript" src="&lt;a href=&quot;http://envysiongdc.boldtech.com/dwr/interface/DwrService.js&quot;&gt;/dwr/interface/DwrService.js&lt;/a&gt;"></script>  <script type="text/javascript" src="&lt;a href=&quot;http://envysiongdc.boldtech.com/dwr/util.js&quot;&gt;/dwr/util.js&lt;/a&gt;"></script>       

js 代码
  1. <script type='text javascript' src="/dwr/&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;interface&lt;/span&gt;&lt;span&gt;/Demo.js"></script>  //这个是用户自定义的dwr服务动态产生的js 
  2. <script type='text javascript' src="/dwr/engine.js"></script>   //这个是必须的
    <script type='text javascript' src="/dwr/util.js"></script>   //这是可选的
  3.   

5.写服务端的JAVA类

如上面的例子即写一个your.java.Bean类

6.写客户端的js

js 代码
  1. <script type=< span="">"text/javascript">   
  2. window.onload = function() {   
  3.   functon callback(str) {   
  4.     $('output').innerHTML = str;   
  5.   }   
  6.   Demo.sayHelloWorldTo("Java", callback);   
  7. }   
  8. </script>  

7.一个简单的完整的代码例子

 

  1. public class Remote {   
  2.     public String getData(int index) { ... }   
  3. }   
js 代码
  1. function handleGetData(str) {   
  2.   alert(str);   
  3. }   
  4.   
  5. Remote.getData(42, handleGetData);   

 

      
分享到:
评论

相关推荐

    DWR 教程 中文API DWR.xml配置文件说明 DWR学习笔记

    首先,"DWR学习笔记"提供了对DWR基础概念、核心功能以及实际应用的概述。这些笔记可能包含了DWR的基本架构,如它如何通过AJAX技术实现实时的Web交互,以及如何创建和调用服务器端的Java方法。 "DWR中文API"是DWR库...

    DWR学习笔记及经验总结

    在“DWR学习笔记及经验总结”中,我们可以期待找到以下关键知识点: 1. **DWR的基本概念**:了解DWR的核心理念,包括远程方法调用(Remote Method Invocation)、反向Ajax以及它如何通过JSON或XML格式传递数据。 2...

    dwr学习笔记pdf文件

    ### dwr学习笔记pdf文件知识点概述 #### 一、DWR框架简介 - **DWR**(Direct Web Remoting)是由GetAhead公司开发的一款用于实现Ajax应用的框架。该框架的核心价值在于允许客户端JavaScript直接调用服务器端Java类...

    dwr学习笔记和总结

    ### dwr学习笔记和总结 #### 一、DWR简介 DWR (Direct Web Remoting) 是一个简化Ajax开发的框架,它使得JavaScript能够直接调用服务器端的Java方法成为可能,无需编写复杂的Ajax代码。这极大地提高了开发效率,并...

    DWR学习笔记和与spring整合练习

    **DWR(Direct Web Remoting)**是一种JavaScript库,它允许Web...通过深入学习和实践"DWR学习笔记和与spring整合练习",开发者可以掌握DWR的精髓,熟练运用其与Spring的整合,打造出高效、安全、易维护的Web应用程序。

    DWR学习笔记-HelloWorld篇

    【标题】:“DWR学习笔记-HelloWorld篇” 在IT领域,DWR(Direct Web Remoting)是一个开源的Java框架,它允许JavaScript在浏览器端直接调用服务器端的Java方法,实现了网页与服务器的实时交互,类似于Ajax技术,但...

    ajax dwr学习笔记和jar文件

    1. **官方文档**:DWR的官方文档详细介绍了如何配置、使用以及扩展DWR,是学习的好资料。 2. **示例代码**:实践是最好的老师,通过分析和运行提供的jar文件中的示例代码,能更深入理解DWR的工作原理。 3. **社区...

    DWR学习笔记(下载)

    **DWR(Direct Web Remoting)学习笔记** DWR是一种Java技术,用于在浏览器和服务器之间实现双向通信,使得Web应用程序能够实时更新和交互。它允许JavaScript直接调用服务器端的Java方法,就像它们是本地函数一样,...

    DWR学习笔记

    ### DWR学习笔记 #### 一、DWR简介 DWR(Direct Web Remoting)是一种开源框架,专门设计用于简化Web页面与Java类之间的交互。它通过提供一种新的方法来实现Ajax技术,使得浏览器中的JavaScript代码能够如同在本地...

    dwr学习笔记(一个简单猜数字游戏)

    总结来说,这个"DWR学习笔记"示例涵盖了以下知识点: 1. DWR的基本概念和工作原理,包括Reverse Ajax机制。 2. 如何在服务器端配置DWR,定义可调用的Java服务。 3. 客户端如何使用DWR的JavaScript库与服务器进行通信...

    DWR的学习资料,DWR学习必备

    DWR使用笔记.chm:这可能是一份详细的DWR使用手册,包含了如何集成DWR到项目中、配置DWR引擎、创建远程接口以及处理各种交互的实例。通过阅读这份笔记,你可以了解到DWR的基本概念、配置步骤以及实际应用技巧。 dwr...

    DWR学习资料

    DWR学习资料 :DWR 3.0 上传文件.txt DWR3.0反向Ajax示例.txt DWR3.0学习笔记.txt DWR3.0学习网址.txt dwr分页.doc DWR分页代码.doc DWR中文文档.doc DWR中文文档.pdf dwr做comet的完整实现.doc Spring整合DWR comet ...

    DWR学习笔记(如何配置DWR和工程实例)

    DWR(Direct Web Remoting)是一种Java库,用于在Web应用程序中实现JavaScript和服务器端Java对象之间的双向通信。它使得动态、实时的Web界面成为可能,而无需刷新整个页面。以下是对DWR配置和工程实例的详细解释: ...

    DWR 2.0M3 学习笔记

    阅读"DWR学习笔记.doc"文件将有助于系统地掌握这些知识点,通过实践操作加深理解,从而更好地利用DWR构建交互性强、用户体验良好的Web应用。在学习过程中,结合源码分析可以更深入地理解DWR的工作机制,提升自己的...

    DWR实战学习笔记.txt

    技术分享:DWR实战学习笔记

Global site tag (gtag.js) - Google Analytics