`
tianting_wx
  • 浏览: 42698 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

DWR实例详解

    博客分类:
  • dwr
阅读更多

1:

DWR相关.jar包和.js文件下载地址: http://directwebremoting.org/dwr/download 

DownloadVersion 2.0.5Size
JAR File: dwr.jar(下载) (490Kb)
WAR File: dwr.war (2.14Mb)
Sources: dwr-2.0.5-src.zip (下载) (20.77Mb)

 

2:

将dwr.jar放到: 你的工程/WEB-INF/lib/下

用解压缩软件打开-src.zip文件,进入目录:\/java\org\directwebremoting,找到engine.js和util.js并将其解压出来,在你的工程/WebRoot/ 下新建文件夹 dwr\interface,将engine.js和util.js放在dwr\下

以下两步为必要的准备工作,如果你要在html中测试dwr的话

 

3:

在web.xml中增加DWRServlet:

<servlet> 
  <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> 

 

   其中黑体加粗部分为DWR2.x版的DwrServlet位置。如果用DWR1.x,应改为:<servlet-class>

   uk.ltd.getahead.dwr.DWRServlet</servlet-class>,开发者应该参考 dwr.jar文件中的实际位置写

 

4:

写一个简单的类文件:

package collon;

public class Service {
   public String sayHello(String yourName){
      return "Welcome :" + yourName;
   }
}

 

 

5:

在WEB-INF\下新建dwr.xml,内容为下:

 

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd"> 
<dwr>
   <allow>
       <create creator="new" javascript="service">
            <param name="class" value="collon.Service"/>
            <include method="sayHello"/>
       </create>
 </allow>
</dwr>


 

 注意黑体加粗字,是dwr2.0的标准DTD文档声明,其中,javascript="service"为要生成的,可远程调用的javascript方法名

 

6:

启动tomcat服务器

 

7:

打开网页,输入http://localhost:8080/你的工程/dwr   按回车,测试吧,会有如下输出:

Classes known to DWR:

点service,会进入如下页面:

Methods For: service (collon.Service)

To use this class in your javascript you will need the following script includes:

  <script type='text/javascript' src='/firstDwr/dwr/interface/service.js'></script>
  <script type='text/javascript' src='/firstDwr/dwr/engine.js'></script>

In addition there is an optional utility script:

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

Replies from DWR are shown with a yellow background if they are simple or in an alert box otherwise.
The inputs are evaluated as Javascript so strings must be quoted before execution.

There are 10 declared methods:

  • sayHello( ); <script type="text/javascript"></script> (在双引号中输入字符串,可以测试了)...............

8:

点击 '/firstDwr/dwr/interface/service.js' 将其保荐到 \WebRoot\dwr\interface 下

 

9:

新建html页面,代码如下:

 

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My Dwr Testing</title>
    <script type='text/javascript' src='/你的工程/dwr/interface/service.js'></script>
    <script type='text/javascript' src='/你的工程/dwr/engine.js'></script>
    <script type='text/javascript' src='/你的工程/dwr/util.js'></script>
    <script type='text/javascript' src='/你的工程/js/first.js'></script>
  </head>
  
  <body>
    <input type="text" width="100" id="yourName" /><input type="button" value="Click Me" onclick="demo();" /><br />
    <div id="result"></div>
  </body>
</html>

 

注:请注意各.js文件的位置要准确无误

 

10:

建立/你的工程/js/first.js 文件,内容如下:

function demo(){
     service.sayHello($('yourName').value,callback);//注意,service.sayHello是js文件代码,不是Java类Service.sayHello
    }
function callback(msg){
 DWRUtil.setValue("result",msg);
}

   

11:

输入页面测试吧

 

12:

请我们看一看DwrServlet生成的.js代码:

// Provide a default path to dwr.engine
if (dwr == null) var dwr = {};
if (dwr.engine == null) dwr.engine = {};
if (DWREngine == null) var DWREngine = dwr.engine;

if (service == null) var service = {};
service._path = '/firstDwr/dwr';
service.sayHello = function(p0, callback) {
  dwr.engine._execute(service._path, 'service', 'sayHello', p0, callback);
}


  

 

 

分享到:
评论

相关推荐

    dwr 实例详解

    DWR(Direct Web Remoting)是一个Java框架,它使得JavaScript能够与服务器端的Java代码进行交互,从而实现异步更新,提升Web应用的用户体验。DWR简化了Ajax(Asynchronous JavaScript and XML)的使用,使得在...

    Spring整合dwr实例+dwr中文开发文档

    **Spring 整合 DWR 实例详解** Spring 框架和 Direct Web Remoting (DWR) 是两个在Web开发中广泛使用的工具。Spring 提供了一个全面的编程和配置模型,用于构建现代Java应用程序,而DWR则允许在浏览器和服务器之间...

    Ajax DWR实例

    **Ajax DWR实例详解** Ajax (Asynchronous JavaScript and XML) 是一种在不刷新整个网页的情况下,更新部分网页的技术。DWR (Direct Web Remoting) 是一个开源Java库,它允许JavaScript与服务器端的Java对象直接...

    AJAX DWR实例

    **AJAX DWR实例详解** DWR (Direct Web Remoting) 是一个开源的Java库,它使得在浏览器和服务器之间进行异步JavaScript与Java方法调用成为可能,从而实现Ajax(Asynchronous JavaScript and XML)应用。DWR允许前端...

    Dwr配置详解.doc

    DWR配置详解 DWR(Direct Web Remoting)是一种基于Java的AJAX框架,用于实现Web应用程序的远程方法调用。下面是DWR配置的详细解释: 一、配置环境 1. 导入DWR的依赖jar包,包括dwr.jar和commons-logging.jar。 2...

    dwr配置文件详解 dwr.xml配置文件详解

    dwr配置文件详解 dwr.xml配置文件详解 dwr配置文件是Direct Web Remoting(DWR)的核心组件之一,它负责配置DWR的各种设置和参数。在本文中,我们将详细介绍dwr配置文件的结构和配置方法,并探讨它在实际应用中的...

    引:dwr实例

    **DWR(Direct Web Remoting)实例详解** DWR(Direct Web Remoting)是一个开源的Java库,它允许JavaScript在浏览器中与服务器上的Java对象进行交互,实现了Web应用中的Ajax功能。DWR使得Web开发者可以方便地在...

    DWR配置文件详解,DWR配置

    **DWR配置文件详解** Direct Web Remoting (DWR) 是一种开源的Java库,它允许Web应用程序在客户端JavaScript和服务器端Java之间进行双向通信。DWR的核心配置文件是`dwr.xml`,该文件定义了DWR允许访问的Java对象、...

    dwr3.0反向实例

    在"DWR 3.0反向实例"中,我们将深入探讨这个版本的新特性、配置过程以及如何通过一个简单的Clock实现来演示其工作原理。 DWR 3.0相对于早期的2.0版本,引入了一些重要的改进,包括性能提升、错误处理机制的优化以及...

    DWR入门详解例子与说明,入门教程

    通过JavaScript,你可以创建一个DWR的实例,然后调用其方法。例如,`DWRUtil.useCSS("/dwr/css/dwr.css");`用于加载DWR的样式表,而`new YourServerClass().yourMethod(args);`则可以调用服务器上的`...

    struts2与dwr整合实例

    **DWR框架详解** DWR是一款优秀的JavaScript到Java的远程调用框架,它使得前端JavaScript可以直接调用后端Java对象的方法,从而实现了类似AJAX的功能,但比传统的AJAX更加简单易用。DWR通过自动暴露Java对象,生成...

    dwr配置文件详解

    `create`子元素允许创建指定类的实例,`javascript`属性指定在JavaScript中使用的名称,`scope`属性定义对象的生命周期(如session或global)。`param`子元素允许传递参数给创建方法。`convert`子元素定义对象转换...

    dwr配置和使用详解

    `creator="new"`意味着使用Java的新建实例方式创建对象,`javascript="TestService"`是JavaScript中对应的对象名。 而`web.xml`是Servlet容器的部署描述符,需要配置DWR的Servlet。添加以下内容到`web.xml`中: ``...

    DWR框架的实例

    **DWR(Direct Web Remoting)框架实例详解** DWR(Direct Web Remoting)是一个开源的JavaScript库,它使得在浏览器和服务器之间进行异步通信变得简单,类似于AJAX(Asynchronous JavaScript and XML)。通过DWR,...

    DWR配置文件详解

    2. **远程Bean创建**(Creation):为了实现远程调用,DWR需要能够在服务器端创建相应的Bean实例,并允许客户端通过网络调用这些Bean的方法。 - 如果你有一个名为`A`的Bean,并且该Bean有一个方法`A.blah(B)`,...

    dwr 实现推技术 实例

    **DWR(Direct Web Remoting)技术详解及推技术实例** DWR,全称为Direct Web Remoting,是一种在Web应用程序中实现JavaScript与Java之间进行安全、高效通信的技术。它允许服务器端的Java代码直接调用客户端的...

    整合了SSH的Dwr2实例

    **整合SSH的Dwr2实例详解** 在现代Web开发中,为了实现丰富的用户交互和高效的数据传输,常常会采用各种技术栈的组合。SSH(Spring、Struts、Hibernate)是Java Web开发中的一种经典组合,提供了强大的MVC架构支持...

    dwr 配置文件详解

    ### dwr 配置文件详解 #### 一、概述 Direct Web Remoting (DWR) 是一种开源框架,它简化了客户端JavaScript与服务器端Java之间的交互。通过DWR,开发者可以直接从JavaScript调用服务器端的方法,而无需使用传统的...

Global site tag (gtag.js) - Google Analytics