DWR(Direct Web Remoting)是一个开源的类库,可以帮助开发人员开发包含Ajax技术的网站。它可以允许在浏览器里的代码使用运行在Web服务器上的Java函数,就像
它在浏览器里一样。DWR包含两个主要的部分,其一是运行在浏览器客户端的Javascript,这部分被用来与服务器通信,并更新页面内容;其二是运行在服务器端的Java Servlet,这部分被用来处理请求并将响应结果发送给浏览器。
DWR采取了一种动态生成基于Java类的Javascript代码的新方法来实现和处理Ajax。这样Web开发人员就可以在Javascript里像使用浏览器的本地代码一样使用Java代码,而实际上这些Java代码是运行在服务器端并且可以自由访问Web 服务器资源的。出于安全的考虑,Web开发者必须适当地配置,决定哪些Java类可以安全地被外部使用。
这个从Java到Javascript的远程功能方法给DWR的用户带来了非常像传统的RPC机制,就像RMI或者SOAP一样,而且拥有无插件运行在Web上的优势。
DWR认为浏览器/服务器协议没有那么重要,其更倾向于保证编程界面的简单自然。对此最大的挑战就是把Ajax的异步特性和正常Java方法调用的同步特性相结合。在异步模式下,结果数据在开始调用之后的一段时间之后才可以访问。DWR解决了这个问题,允许Web开发人员使用一个特殊的方法参数来指定一个函数,以便在数据返回后回调此函数。
图11-1来自DWR的官方文档,展示了DWR如何利用一些类似Javascript的onClick等事件的结果来改变一个下拉列表框的内容。这个事件处理器调用一个DWR生成的Javascript函数,它和服务器端的Java函数是匹配的。DWR接着处理了Java和Javascript之间的所有远程信息,包括转换所有的参数和返回需要的值。接着DWR执行了相应的回调函数(populateList)。这个例子演示了如何使用DWR功能函数来改变网页内容。
图11-1 DWR交互过程
使用DWR可以有效地从应用程序代码中把Ajax的全部请求-响应循环消除掉。这意味着,客户端代码再也不需要直接处理XMLHttpRequest对象或者服务器的响应,不再需要编写对象的序列化代码或者使用第三方工具才能把对象变成XML,甚至不再需要编写servlet代码把Ajax请求调整成对Java对象的调用。
DWR是作为Web应用程序中的servlet部署的。可以把它看做一个黑盒子,这个servlet有两个主要作用:首先,对于公开的每个类,DWR动态地生成包含在Web页面中的Javascript。生成的Javascript包含存根函数,代表Java类上的对应方法并在幕后执行XML HttpRequest。这些请求被发送给DWR,这时它的第二个作用就是把请求翻译成服务器端Java对象上的方法调用,并把方法的返回值放在servlet响应中发送回客户端,编码成Javascript。DWR还提供了帮助执行常见的用户界面任务的Javascript工具函数。
- DWR2.0.rar (1.1 MB)
- 描述: 关于dwr2.0的详细介绍。pdf电子书
- 下载次数: 118
分享到:
相关推荐
一、DWR简介 DWR的主要目标是消除传统的HTTP请求-响应模式的局限性,提供一种更加高效、灵活的远程调用机制。通过DWR,开发者可以在浏览器中编写JavaScript代码,就像操作本地对象一样调用服务器上的Java方法,大大...
#### 一、DWR简介 **DWR(Direct Web Remoting)** 是一个开源的类库,旨在帮助开发者轻松构建包含AJAX技术的网站。其核心价值在于允许浏览器中的JavaScript代码能够直接调用运行在Web服务器上的Java函数,如同这些...
#### 一、DWR简介 Direct Web Remoting (DWR) 是一种简化Ajax应用程序开发的技术。它允许JavaScript直接调用Java方法,并且能够处理JSON数据,使得前后端之间的交互更为简单高效。在本案例中,我们将探讨如何使用...
1. **DWR简介**: DWR是一种JavaScript库,它提供了在浏览器和服务器之间进行动态通信的能力,类似于AJAX,但更加强大。DWR通过自动处理JSON或XML数据交换、安全性和缓存策略,简化了客户端和服务器端的交互。 2. ...
DWR简介** DWR的主要目的是消除Web应用中的AJAX复杂性,提供简单易用的API来实现在客户端和服务器端之间的异步通信。DWR的核心概念包括远程接口(Remote Interface)、映射器(Mapper)和引擎(Engine)。远程接口...
**一、DWR简介** DWR(Direct Web Remoting)是一个开源框架,它简化了Java服务器与JavaScript之间的远程方法调用(Remote Method Invocation)。DWR通过动态生成JavaScript库,使得前端能够调用后端的Java方法,...
1. **DWR简介**:DWR的核心功能是通过AJAX技术实现浏览器与服务器之间的双向通信。它提供了一种简单的方式来执行异步请求,使得前端JavaScript代码可以调用后台Java方法,仿佛它们是在同一进程中运行一样。 2. **...
#### 一、DWR简介及推模式概述 **Direct Web Remoting (DWR)** 是一个简化Ajax应用程序开发的Java框架,它允许客户端JavaScript直接调用服务器端的Java方法,从而使得开发更加简单直观。DWR提供了多种推模式(Push ...
1. **DWR简介**:DWR的核心功能是创建了一个JavaScript到Java的远程调用层,使得前端的JavaScript代码能够像调用本地函数一样调用服务器上的Java方法。这大大简化了Ajax的实现,因为开发者无需编写复杂的...
#### 一、DWR简介 DWR(Direct Web Remoting)是一种简化Ajax开发的框架,它使得JavaScript能够直接调用服务器端的Java方法,从而实现更简单、更直接的远程调用。通过DWR框架,开发者可以将Java对象暴露给客户端...
#### 二、DWR简介 DWR由Joe Walker创建,首次发布于2003年,是一个开源项目。它提供了一种简单的方法来实现Ajax应用程序,通过将Java对象直接暴露为JavaScript对象,实现了浏览器与服务器之间的无缝连接。这不仅极...
#### 一、DWR简介 DWR,全称为Direct Web Remoting,是一种专为Java开发者设计的AJAX框架。它通过简化JavaScript与Java后端服务之间的交互,使得前端开发人员能够如同调用本地JavaScript函数一样轻松地调用服务器端...
1. **DWR简介** DWR的核心功能是提供一种简单的API,使得JavaScript可以与服务器端的Java对象进行交互。它包括了自动处理JSON和XML数据格式,以及提供了一套安全机制,防止跨站脚本攻击(XSS)和其他潜在的安全风险...