(1) 简介
官方:http://directwebremoting.org/dwr/download
最新版本:2.0.5
DWR (Direct Web Remoting)是getahead公司开发的一个实现AJAX应用的框架。
DWR是一个可以允许你去创建AJAX WEB站点的JAVA开源库。它可以让你在浏览器中的Javascript代码调用Web服务器上的Java代码,就像在Java代码就在浏览器中一样。 DWR包含2个主要部分:
一个运行在服务器端的Java Servlet,它处理请求并且向浏览器发回响应。
运行在浏览器端的JavaScript,它发送请求而且还能动态更新网页。
DWR工作原理是通过动态把Java类生成为Javascript。它的代码就像Ajax魔法一样,你感觉调用就像发生在浏览器端,但是实际上代码调用发生在服务器端,DWR负责数据的传递和转换。这种从Java到JavaScript的远程调用功能的方式使DWR用起来有种非常像RMI或者SOAP的常规RPC机制,而且DWR的优点在于不需要任何的网页浏览器插件就能运行在网页上。 Java从根本上讲是同步机制,然而AJAX却是异步的。所以你调用远程方法时,当数据已经从网络上返回的时候,你要提供有反调 (callback) 功能的DWR。
DWR动态在JavaScript里生成一个AjaxService类,去匹配服务气端的代码。由eventHandler去调用它,然后DWR处理所有的远程细节,包括倒置 (converting) 所有的参数以及返回Javascript和Java之的值。在示例中,先在eventHandler方法里调用AjaxService的getOptions() 方法,然后通过反调 (callback) 方法populateList(data) 得到返回的数据,其中data就是String[]{"1", "2", "3"},最后再使用DWR utility 把data加入到下拉列表。 好了,DWR介绍完了,现在大家肯定很想知道如何做出第一个DWR吧!然后我们在下一章节以一个HelloWorld示例带领大家入门。
(2) DWR 之Hello World入门
步骤:
l 新建工程,从官方网站下载dwr.jar包。然后将它放在你webapp的WEB-INF/lib目录下。
l 编辑配置web.xml文件加入以下配置:
<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>
l 编写serivce类
package com.dwrdemo;
/**
* @deprecated:
* @author: vince
* @version 1.0
* @email finally_m@yahoo.cn
*/
public class Demo{
public String sayHello(String name) {
return "Hello, " + name;
}
}
l 在web.xml的同一目录下,创建dwr.xml,并且将要被调用的java类写入其中
<?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="Demo">
<param name="class" value="com.dwrdemo.Demo" />
</create>
</allow>
</dwr>
l 编写JSP测试页面
<1 引用dwr自动生成的js,dwr/interface/service.js,注意js名字要和dwr.xml配置的一样
<2 js里的service.sayHello和java类的那个有一点区别,多了个参数,用来callback返回的
数据
<script type="text/javascript" src="<%=path%>/dwr/util.js"></script>
<script type="text/javascript" src="<%=path%>/dwr/engine.js"></script>
<script type='text/javascript' src='<%=path%>/dwr/interface/Demo.js'></script>
<script type="text/javascript">
function update() {
var name = dwr.util.getValue("demoName");
Demo.sayHello(name,function(data){
dwr.util.setValue("demoReply",data);
});
}
</script>
<body>
<h2>示例</h2>
<p>
Name:<input type="text" id="demoName" />
<input value="Send" type="button" onclick="update()" />
<br />
Reply:span id="demoReply"></span>
</p>
</body>
<参考示例代码>
分享到:
相关推荐
在这个"ajax的DWR框架入门例子"中,我们将深入理解DWR如何工作以及如何在实际项目中应用。这个例子包含了源代码和调试成功的案例,这意味着我们可以直接运行和学习,而无需从零开始搭建环境。 首先,DWR的基本概念...
学习和理解Ajax及DWR框架,可以帮助开发者构建更加高效、互动性强的Web应用,提升用户在浏览网页时的体验。无论是前端的JavaScript编程,还是后端的Java服务,DWR都提供了强大的工具来简化这个过程。对于希望深入...
DWR 框架入门学习文档 DWR(Direct Web Remoting)是一个开放源码的使用 Apache 许可协议的解决方案,它包含服务器端 Java 库、一个 DWR Servlet 以及 JavaScript 库。DWR 框架是最成熟的 Ajax-RPC 工具包之一,...
在"Dwr框架入门程序"中,我们将探讨DWR的基本概念、安装、配置以及如何创建一个简单的"Hello World"应用。 1. **DWR框架的基本概念**: DWR的核心功能是提供一种安全、高效的方式,让JavaScript能够调用服务器上的...
DWR (Direct Web Remoting) 是一个...通过学习DWR,开发者能够构建出交互性强、用户体验优良的Web应用程序,而这个入门例子将是你开启DWR之旅的良好起点。记得动手实践,不断探索,才能真正掌握这一强大的Ajax框架。
总结来说,DWR框架是一个强大的工具,它简化了AJAX应用的开发,使得开发者能够轻松地实现JavaScript和Java之间的通信。通过这个入门案例,你可以快速了解DWR的基本使用,并进一步探索其在实际项目中的各种可能性。
### DWR框架核心概念 1. **Remoting**:DWR的核心功能是提供Java对象和JavaScript之间的远程调用。它允许JavaScript代码直接调用服务器端的Java方法,就像它们是本地函数一样,实现了服务器与客户端的实时通信。 2...
对于初学者来说,DWR提供了一个理想的起点,使他们能够快速理解和实践Ajax技术,而不必深陷于底层细节。通过实际操作上述步骤,开发者能够深入理解DWR如何工作,并逐渐掌握Ajax的核心概念。随着对DWR的熟悉,开发者...
本文将详细介绍如何使用DWR框架来整合JSF,为初学者提供一个入门指南。 1. **DWR简介**:DWR的核心功能是创建了一个JavaScript到Java的远程调用层,使得前端的JavaScript代码能够像调用本地函数一样调用服务器上的...
DWR(Direct Web Remoting)框架是一个开源的Java库,它允许Web应用程序在客户端和...通过学习这两个PPT,你可以全面了解DWR框架,掌握其核心概念和使用技巧,从而在实际项目中更好地运用DWR实现高效、动态的Web应用。
#### DWR框架简介 DWR(Direct Web Remoting)是一种用于简化Ajax开发的框架,它允许开发者在客户端JavaScript中直接调用服务器端的Java方法,从而大大降低了开发复杂度。对于习惯于面向对象编程的开发者来说,DWR...
学习DWR框架不仅可以帮助你更好地理解和使用Ajax技术,还能提升你在Web开发中的效率,尤其是在创建动态、交互性强的Web应用时。通过深入研究源码,你还可以了解到DWR是如何在后台处理请求和响应的,这对于定制化开发...
**DWR框架学习入门** Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器中与服务器端的Java对象...通过深入理解和实践DWR框架,你可以更好地掌握AJAX技术,并能够创建更具交互性的Web应用。
#### 一、DWR 快速入门 **1. DWR 简介** DWR (Direct Web Remoting) 是一种用于简化 Ajax 开发的 Java 库。它允许前端 JavaScript 直接调用后端 Java 对象的方法,从而减少了开发人员在客户端和服务器端之间进行...
博文链接:https://myd.iteye.com/blog/244882
### DWR 框架详解及实战应用 #### 一、DWR简介 ...通过上述内容的学习和实践,开发者可以深入了解DWR框架的工作原理和技术优势,并能够将其应用于实际项目中,从而构建高效、灵活的Ajax应用程序。