`

DWR学习笔记-HelloWorld篇

    博客分类:
  • AJAX
阅读更多

1. DWR 简介
   DWR是一个Java开源库,帮助你实现Ajax网站。
    它可以让你在浏览器中的Javascript代码调用Web服务器上的Java,就像在Java代码就在浏览器中一样。
    DWR主要包括两部分:
        在服务器上运行的Servlet来处理请求并把结果返回浏览器。
        运行在浏览器上的Javascript,可以发送请求,并动态改变页面。
    DWR会根据你的Java类动态的生成Javascript代码。这些代码的魔力是让你感觉整个Ajax调用都是在浏览器上发生的,但事实上是服务器执行了这些代码,DWR负责数据的传递和转换。
    这种Java和Javascript之间的远程调用会让DWR用户感觉像是曾经习惯使用的RMI或SOAP的RPC机制。而且这一过程还不需要额外的浏览器插件。
    Java是同步的,而Ajax是异步的。所以当你调用一个远程方法时,你要给DWR一个回调函数,当数据从网络上回来时,DWR会调用这个函数.

2. 如何使用DWR
   2.1. 下载DWR
         下载地址http://getahead.ltd.uk/dwr/download
          我下载的是dwr-2.0.5版本
   2.2  安装DWR
        创建一个Web工程,将dwr.jar放到Web工程webapp的WEB-INF\lib目录下  
   2.3 修改配置文件
       修改web.xml文件

 
  <servlet>
    <servlet-name>dwr-invoker</servlet-name>
    <display-name>DWR Servlet</display-name>
    <description>Direct Web Remoter Servlet</description>
    <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>

    <!-- This should NEVER be present in live -->
    <init-param>
      <param-name>debug</param-name>
      <param-value>true</param-value>
    </init-param>

    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>dwr-invoker</servlet-name>
    <url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>




       在webapp\WEB-INF\目录下增加dwr.xml文件,内容为

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">

<dwr>
  <allow>
    <create creator="new" javascript="Publisher" scope="application">
      <param name="class" value="hellodwr.HelloDWR"/>
    </create>
  </allow>
</dwr>

 

 2.4 编写HelloDWR类

    

package hellodwr;

public class HelloDWR {
    public String sayHello(String name) {
    	return "Hello " + name;
    }
}

 

 2.5 测试DWR

      这是一个非常有用的功能,特别对于初学者来说,可以查看自己编写的DWR是否部署成功,结果是否正确

      讲工程部署到应用服务器中(本例用Tomcat5.5.26),启动服务。

      访问地址: http://localhost:8080/hellodwr/dwr

   

Classes known to DWR:
HelloDWR (hellodwr.HelloDWR) 

 

  点击HelloDWR,会看到刚才写的sayHello方法,点击execute看看结果

 

Methods For: HelloDWR (hellodwr.HelloDWR)
To use this class in your javascript you will need the following script includes:

  <script type='text/javascript' src='/hellodwr/dwr/interface/HelloDWR.js'></script>
  <script type='text/javascript' src='/hellodwr/dwr/engine.js'></script>

In addition there is an optional utility script:

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


There are 10 declared methods:

sayHello(  ); [execute] "Hello DWR" ---执行结果

 

 2.6 WEB页面调用

       引入js

<script type='text/javascript' src='<%=appPath%>/dwr/engine.js'></script>
<script type='text/javascript' src='<%=appPath%>/dwr/util.js'></script>
<script type='text/javascript' src='<%=appPath%>/dwr/interface/HelloDWR.js'></script>

 

  js调用

 

//调用DWR函数
function invokeDWR() {
    HelloDWR.sayHello('DWR', callback);
}

//回调函数
function callback(obj) {
    alert(obj);
}




invokeDWR();//调用dwr,提示"Hello DWR"

  

    

分享到:
评论

相关推荐

    dwr入门 -- 01 -- Hello Word

    在这个页面中,我们引入了DWR生成的JavaScript接口`HelloWorld.js`和核心引擎`engine.js`。`callServer`函数会在用户点击按钮时调用服务器的`sayHello`方法,并将结果显示在页面上。 ### 七、部署与测试 1. 将项目...

    整理好的DWR-2.0.5-src

    这个不是我的原创,原文件出至这里:...原资源包含了,源代码和API Doc,只是美中不足的是没有整理成可用的zip文档,我这特分离了一下,并重新打好包了,初步测试了一下能用。

    dwr.jar编写helloworld

    当应用启动时,DWR引擎会处理这些配置并生成必要的JavaScript代码,用户可以通过`/dwr/interface/HelloWorld.js`访问这个文件。 5. **编写HTML和JavaScript**:在HTML页面中,我们需要引入DWR的主脚本文件(如/dwr/...

    dwr+demo+helloworld

    在这个"Dwr+Demo+helloworld"示例中,我们将探讨如何利用DWR轻松实现JavaScript与Java之间的交互,创建一个简单的"Hello, World!"应用程序。 首先,我们需要了解DWR的基本概念。DWR的核心功能是提供一个代理层,...

    DWR入门教程之HelloWorld

    在本“DWR入门教程之HelloWorld”中,我们将逐步学习如何搭建一个简单的DWR应用,体验其基本功能。首先,我们需要了解以下关键组件: 1. **配置DWR**: 在Web应用程序的`web.xml`文件中,我们需要添加DWR的Servlet...

    dwr-1.1.3-src.zip

    标题 "dwr-1.1.3-src.zip" 指示的是 Direct Web Remoting (DWR) 的源代码版本1.1.3的压缩包。DWR 是一个开源Java库,它允许JavaScript在Web浏览器中与服务器端的Java对象进行交互,实现Ajax功能。描述中的内容同样...

    dwr3.0的HELLOWORLD创建过程

    ### dwr3.0的HELLOWORLD创建过程详解 #### 一、准备工作:环境搭建与配置 ##### 1. 创建Web工程 - **步骤一**:新建一个Web应用程序工程。 - **步骤二**:导入DWR 3.0的相关jar包。确保包括`dwr-x.x.x.jar`在内的...

    dwr-2.0.6-src完整包

    DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站,其中包含jar包,javadoc,例子等

    dwr-1.1.1-util.js

    dwr-1.1.1-util.js

    dwr.jar/dwr-2.0.5-src.zip/dwr.zip

    这可能是一个重复的文件,或者包含了与dwr.jar和dwr-2.0.5-src.zip不同的内容,比如可能是DWR的配置文件、文档或者特定环境的构建版本。通常,这样的zip文件会包含部署所需的全部资源,包括Web应用的结构和配置文件...

    dwr-2.0.5-src.rar

    通过深入研究"Dwr-2.0.5-src",开发者不仅可以掌握DWR的基本用法,还可以学习到关于AJAX通信、前端后端交互、安全控制等多个方面的技术知识。这对于提高Java Web开发能力,尤其是涉及动态页面和富客户端应用的项目,...

    dwr入门 -- 02 -- HelloWord解释&&使用javabean

    在"HelloWorld解释&&使用javabean"这个主题中,我们将深入理解DWR的基本概念、工作原理,并通过一个简单的JavaBean示例来展示其用法。 首先,DWR的核心功能是提供了一个安全、高效的AJAX(Asynchronous JavaScript ...

    HelloWorld-Dwr

    这个"HelloWorld-Dwr"示例是一个基础教程,展示了如何使用DWR来实现简单的远程方法调用。 首先,我们需要在项目中导入必要的库。DWR的核心库是dwr.jar,还需要commons-logging-1.0.4.jar,这是一个日志处理库,通常...

    DWR入门程序---计算输入的两个数之和.rar

    - `dwr-generate.js`:自动生成的JavaScript接口文件,包含了服务器端Java类的映射。 - `index.html`:展示用户界面的HTML文件,包含JavaScript代码来调用DWR方法。 - `Calculator.java`:服务器端的Java类,实现...

    dwr-2.0.5-src.part1.rar

    传不了太大的,分3份传上来 dwr-2.0.5-src dwr-2.0.5-src

    SpringBoot整合DWR-3.0.2-RELEASE,并以 " java -jar XXX.jar" 的方式独立运行

    1. 提供了修改后的DWR-3.0.2-RELEASE源代码工程 `dwr` ① 以maven方式组织DWR源码依赖的jar包 ② 下载了github上的DWR源代码, 对其进行了尽可能少的修改, 使其满足SpringBoot以jar包方式独立运行的需要 源码地址: ...

    dwr-2.0-util.js

    dwr-2.0-util.js

Global site tag (gtag.js) - Google Analytics