这段时间较闲,研究了一番dwr.发现dwr实现的AJAX有些地方确实很是先进.比如动态生成javascript代码;隐藏的http协议;javascript于java代码交互的是javascript对象(或字符串)等.
以下是我临时译的一些东西.本来想全译,发现dwr实在是简单,就随便写了.英文居差,现一把.
1、DWR: Easy AJAX for JAVA
作为一个java open source library,DWR可以帮助开发人员完成应用AJAX技术的web程序。它可以让浏览器上的javascript方法调用运行在web服务器上java方法。
DWR主要由两部门组成。javascript与web服务器通信并更新web页;运行在web服务器的Servlet处理请求并把响应发回浏览器。
DWR采用新颖的方法实现了AJAX(本来也没有确切的定义),在java代码基础上动态的生成javascript代码。web开发者可以直接调用这些javascript代码,然而真正的代码是运行在web服务器上的java code。出与安全考虑,开发者必须配置哪些java class暴露给DWR.(dwr.xml)
这种从(java到javascript)调用机制给用户一种感觉,好象常规的RPC机制,或RMI or SOAP.但是它运行在web上,不需要任何浏览器插件。
DWR不认为浏览器和web服务器之间协议重要,把系统界面放在首位。最大挑战是java method call的同步特征与ajax异步特性之间的矛盾。在异步模型里,结果只有在方法结束后才有效。DWR解决了这个问题,把回调函数当成参数传给方法,处理完成后,自动调用回调方法。
这个图表显示了,通过javascript事件,DWR能改变select的内容,当然这些内容由java代码返回。 javascript函数Data.getOptions(populateList)由DWR动态生成,这个函数会调用java class Data类的方法。DWR处理如何远程调用,包括转换所有的参数和返回的结果(javascript\java)。java方法执行完后,执行回调方法populateList。在整个过程中我们就想在用本地的方法一样。
2、Getting Started
废话少说,试试就ok了。
web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="dwr">
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
</web-app>
dwr.xml 与web.xml同目录
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<allow>
<create creator="new" javascript="JDate">
<param name="class" value="java.util.Date"/>
</create>
</allow>
</dwr>
index.html
<html>
<head>
<title>DWR - Test Home</title>
<script type='text/javascript' src='dwr/interface/JDate.js'></script>
<script type='text/javascript' src='dwr/engine.js'></script>
<script>
function init(){
JDate.getYear(load);
}
function load(data){
alert(data+1900+'年')
}
</script>
</head>
<body onload="init()">
</body>
</html>
dwr.jar 下载放lib下
http://www.itpob.cn/bbs
分享到:
相关推荐
DWR (Direct Web Remoting) 是一种开源...通过这个DWR教程,初学者可以逐步掌握如何使用DWR进行AJAX开发,从而提升Web应用的交互性和用户体验。在实践中不断探索和学习,将有助于更好地理解和运用DWR这一强大的工具。
总的来说,这个DWR教程包提供了一套全面的学习资源,适合初学者和有一定经验的开发者,帮助他们掌握DWR的使用,提升Web应用的交互性和效率。通过阅读这些文档和笔记,开发者可以了解到如何利用DWR实现动态、响应式的...
DWR(Direct Web Remoting)是一种Java...通过这个DWR教程和实例,你将能够熟练地利用DWR提高Web应用的交互性,创建更动态、响应式的用户界面。记得实践是检验理论的最好方式,尝试完成每个实例,逐步提升你的DWR技能。
`dwr教程.pdf` 文件可能包含了详细的DWR使用教程,涵盖从安装、配置到实际应用开发的各个方面,包括如何创建和配置DWR工程,如何定义和暴露Java类,以及如何在JavaScript中调用这些类的方法等。通过学习这个教程,...
**AJAX DWR教程** AJAX (Asynchronous JavaScript and XML) 是一种在无需重新加载整个网页的情况下更新部分网页内容的技术,极大地提升了用户体验。而DWR (Direct Web Remoting) 是一个开源的Java库,它使得AJAX在...
在提供的文档"Dwr教程(一)之用户名验证.doc"中,可能会详细讲解上述步骤,包括代码示例和配置细节。而"dwrHello"可能是另一个示例,可能涉及DWR的基本使用或简单的Hello World案例,帮助初学者更好地理解DWR的工作...
在“ajax-DWR教程讲义.rar”这个压缩包中,可能包含的资源有: 1. **"更多电子书下载.html"**:这可能是一个链接页面,提供了更多关于Ajax和DWR相关的电子书下载链接,方便学习者扩展阅读和深入研究。 2. **...
内容包括: DWR教程.txt DWR实例教程.txt DWR学习.txt DWR应用总结.txt DWR购物车实例 DWR与界面开发 一个简单的例子 DWR 入门与应用-林信良(良葛格).doc
【DWR(Direct Web Remoting)教程】 DWR(Direct Web Remoting)是一种基于Java的AJAX...通过这个DWR教程PPT,你可以深入了解DWR的工作原理,学会如何配置和使用DWR来创建高性能、用户友好的Web应用程序。
在本教程中,我们将深入探讨DWR.jar包的使用和DWR的基础教程。 首先,`dwr.jar` 文件是DWR的核心库,包含了所有必要的类和接口,使得开发者能够在客户端和服务器端之间建立通信桥梁。为了在项目中使用DWR,你需要将...
7. **DWR教程内容概览** - DWR介绍及安装指南 - 配置DWR环境 - 创建和使用JavaScript代理 - 调用Java方法与处理响应 - 错误处理和调试技巧 - 示例应用开发 - 性能优化和安全性考量 - DWR与其他技术的集成 ...
这个教程包含了DWR的核心组件和使用示例,帮助开发者理解并掌握DWR的技术特点和应用场景。 首先,`dwr.jar` 文件是DWR的主要库文件,包含了所有必要的类和接口,使得Java对象能够在浏览器中被调用。它简化了AJAX...
本教程将引导你了解如何开始使用DWR并将其集成到你的Web应用中。 首先,你需要安装DWR的库文件。下载`dwr.jar`并将其放置在你的Web应用的`WEB-INF/lib`目录下。确保这个jar文件与其他必要的库文件一起存在,以便...
在这些教程中,你将学习到如何使用AJAX实现页面的异步更新,使用EXTJS构建富客户端应用,利用jQuery进行高效的DOM操作和Ajax交互,通过DWR实现Java和JavaScript之间的无缝通信,以及如何利用Prototype库增强...
在提供的“dwr教程.pdf”中,你可能会学习到以下关键知识点: 1. **DWR安装与配置**:包括如何将DWR库添加到项目中,配置DWR引擎,以及设置Web.xml文件,使DWR服务生效。 2. **DWR API理解**:DWR提供了一系列API...
这篇教程将深入讲解AJAX和DWR的基础知识,以及如何通过它们创建交互性强、响应迅速的网页应用。 **一、AJAX基础** 1. **定义与工作原理**:AJAX是一种不刷新整个页面的情况下,通过JavaScript与服务器交换数据并...
Direct Web Remoting (DWR) 是一种开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,从而实现动态Web应用程序。DWR通过AJAX技术提供了一种简单的方法,使得开发者可以在不刷新整个页面的情况...