logo资料库

DWR中文文档(pdf).pdf

第1页 / 共92页
第2页 / 共92页
第3页 / 共92页
第4页 / 共92页
第5页 / 共92页
第6页 / 共92页
第7页 / 共92页
第8页 / 共92页
资料共92页,剩余部分请下载后查看
目录
第1章. DWR入门
1.1 简介
1.2 第一个DWR程序:Hello World
1.2.1 将DWR放入你的工程
1.2.2 编辑配置文件
1.2.3 编写service
1.2.4 测试DWR
1.2.5 编写一个jsp
1.3 本章总结
第2章. web.xml配置
2.1 主要配置
2.2 常用参数列表
2.2.1 安全参数
2.2.2 Ajax服务器加载时保护参数
2.2.3 其他参数
2.3 日志配置
2.4 多个dwr.xml配置和J2EE角色定义
2.5 插件配置
2.6 测试模式配置
第3章. dwr.xml配置
3.1 纵览
3.2 标签
3.3 标签
3.3.1 Creator
3.3.2 Converter
3.4 标签
第4章. 整合
4.1 DWR与Servlet
4.1.1 使用webContext的方法:
4.1.2 方法选择
4.2 DWR与Spring
4.2.1 让DWR和Spring一起工作的检查列表
4.2.2 Spring Creator
4.2.3 找到Spring配置文件
4.2.4 使用Spring配置DWR
4.3 DWR与JSF
4.3.1 JSF Creator
4.3.2 Servlet Filter
4.4 DWR与Struts
4.4.1 Struts creator
4.4.2 开始顺序
4.5 DWR与Weblogic或PageFlow
4.6 DWR与Hibernate
4.6.1 让DWR和Hibernate一起工作的检查列表
4.6.2 HibernateBeanConverter
4.6.3 Session管理
4.7 DWR与WebWork
4.7.1 配置dwr.xml
4.7.2 在JSP中导入脚本
4.7.3 高级
4.8 DWR与Acegi
4.8.1 问题提出
4.8.2 解决方案
第5章. DWR中的JavaScript简介
5.1 简单的回调函数
5.2 调用元数据对象
5.3 查找回调函数
5.4 创造一个与Java对象匹配的Javascript对象
第6章. engine.js 功能
6.1 使用选项
6.2 选项索引
6.2.1 处理器(Handler)
6.2.2 调用处理器(Call Handler)
6.2.3 Hooks (一个batch中可以注册多个hook)
6.2.4 全局选项(在单次调用或者批量调用中不可用)
6.2.5 废弃的选项
6.2.6 未来版本的选项
6.3 选项说明
6.3.1 批量调用
6.3.2 顺序调用
6.3.3 错误警告和超时
6.3.4 远程调 Hooks
6.3.5 远程调用选项
第7章. util.js 功能
7.1 $()
7.2 addOptions and removeAllOptions
7.3 addRows and removeAllRows
7.4 getText
7.5 getValue
7.6 getValues
7.7 onReturn
7.8 selectRange
7.9 setValue
7.10 setValues
7.11 toDescriptiveString
7.12 useLoadingMessage
7.13 Submission box
第8章. DWR进阶
8.1 DWR Annotations
8.1.1 初始配置
8.1.2 远程访问类
8.1.3 对象转换
8.2 错误和异常处理
8.2.1 错误处理
8.2.2 异常
8.2.3 找出更多的信息
8.3 传递额外的数据到callback函数
8.4 从其他的URL读取数据
8.5 安全
第9章. 范例精讲
9.1 购物车
9.1.1 介绍
9.1.2 实现目录
9.1.3 测试部署
9.1.4 调用远程对象
9.1.5 实现购物车
9.1.6 调用远程的 Cart 方法
9.1.7 演示结果
9.1.8 总结
第10章. 附录
10.1 常见问题
10.1.1 TransformerFactoryConfigurationEr
10.1.2 XML解析错误
10.1.3 使用weblogic的类路径问题
10.1.4 没有cookies的情况下用DWR
10.2 JavaScript高级应用
10.2.1 用变量操纵函数
10.2.2 高阶函数
10.2.3 动态类型
10.2.4 灵活的对象模型
10.2.5 本节总结
DWR 中文文档 v0.9 DWR 2.0 方佳玮 编著 部分原创/部分整理/部分翻译 1 / 92
版权声明 本书目前仅发行网络版,完全免费,转载请注明作者信息。任何出版社或个人未经作者 允许不得出版印刷。 另外如果发现本人的部分内容有所抄袭,请不要来找我理论,我本来做的就是公益事情。 版权所有,侵仅必究。 2 / 92
参考网站及资料 DWR 官方网站 http://getahead.ltd.uk/dwr/ JavaScud Wiki IBM 中国 http://wiki.javascud.org/display/dwrcn/Home http://www.ibm.com/developerworks/cn/ 3 / 92
前言 Ajax 向我们袭来的时候,很多写代码的程序员看到了 Ajax 的发展前景,但并不是每一 个程序员都能将页面与代码完美整合在一起,DOM、CSS、javascript 让人眼花缭乱,不知 从何下手。 本书的读者必须有一定的 Jsp,JavaScript,应用服务器(比如 Tomcat)的基础和使用经 验,否则请在看此教程前先去了解一下。当然附录里有一些 JavaScript 的教程。 本书可以当作一本 DWR 完整的教程,也可以当作一本详细介绍 DWR 的“词典”,我 的目的只是通过本书,希望您能够了解一些 DWR 的基本知识、常用的用户界面组件、远程 方法调用等。并能够搭建 DWR 开发环境,实现 DWR 的快速开发。 非常感谢 JavaScud Wiki 网站,省去了我很多翻译时间,同时感谢网站的几位翻译人员。 由于本人也刚刚接触 DWR,书中难免会有一些错误和表达不是太好的地方,请读者谅 解并提出您的宝贵意见。我很希望得到读者对本书的评价和建议。您可以把你在学习本书的 过程中所遇到的问题和建议发送到我的邮箱 jorwen.fang@gmail.com ,以便我对本书下一个 版本的更新,我会在第一时间给您回复。 感谢您阅读本书!希望这本书对你来说是一本有用的书。我是上海华东理工大学 03 届 计算机(金山)专业的方佳玮。 方佳玮 2007-01-22 4 / 92
目录 1.1 1.2 3.3.1 3.3.2 4.1.1 4.1.2 1.3 2.1 2.2 2.2.1 2.2.2 2.2.3 2.3 2.4 2.5 2.6 3.1 3.2 3.3 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 第 1 章. DWR 入门 ................................................................................................................................. 8 简介 .................................................................................................................................. 8 第一个 DWR 程序:Hello World ....................................................................................... 9 将 DWR 放入你的工程 ............................................................................................. 9 编辑配置文件 ........................................................................................................... 9 编写 service ........................................................................................................... 10 测试 DWR .............................................................................................................. 10 编写一个 jsp ........................................................................................................... 11 本章总结......................................................................................................................... 12 第 2 章. web.xml 配置 .......................................................................................................................... 13 主要配置......................................................................................................................... 13 常用参数列表 ............................................................................................. 14 安全参数 ................................................................................................................ 14 Ajax 服务器加载时保护参数 ................................................................................... 14 其他参数 ................................................................................................................ 15 日志配置......................................................................................................................... 16 多个 dwr.xml 配置和 J2EE 角色定义 .............................................................................. 16 插件配置......................................................................................................................... 18 测试模式配置 ................................................................................................................. 19 第 3 章. dwr.xml 配置 ........................................................................................................................... 20 纵览 ................................................................................................................................ 20 标签 ....................................................................................................................... 20 标签 ................................................................................................................... 21 Creator ................................................................................................................... 21 Converter ............................................................................................................... 25 标签 ........................................................................................................... 30 第 4 章. 整合 ........................................................................................................................................ 32 DWR 与 Servlet .............................................................................................................. 32 使用 webContext 的方法: .................................................................................... 32 方法选择 ................................................................................................................ 32 DWR 与 Spring ............................................................................................................... 34 让 DWR 和 Spring 一起工作的检查列表 ................................................................. 34 Spring Creator ....................................................................................................... 34 找到 Spring 配置文件 ............................................................................................. 34 使用 Spring 配置 DWR ........................................................................................... 35 DWR 与 JSF ................................................................................................................... 36 JSF Creator ........................................................................................................... 36 Servlet Filter .......................................................................................................... 36 DWR 与 Struts ................................................................................................................ 37 Struts creator ......................................................................................................... 37 4.2.1 4.2.2 4.2.3 4.2.4 4.3.1 4.3.2 4.4.1 3.4 4.1 4.2 4.3 4.4 5 / 92
4.5 4.6 4.7 4.8 6.3 4.4.2 4.6.1 4.6.2 4.6.3 4.7.1 4.7.2 4.7.3 4.8.1 4.8.2 5.1 5.2 5.3 5.4 6.1 6.2 开始顺序 ................................................................................................................ 37 DWR 与 Weblogic 或 PageFlow ..................................................................................... 38 DWR 与 Hibernate ......................................................................................................... 39 让 DWR 和 Hibernate 一起工作的检查列表 ............................................................ 39 HibernateBeanConverter ....................................................................................... 39 Session 管理 .......................................................................................................... 39 DWR 与 WebWork ......................................................................................................... 40 配置 dwr.xml .......................................................................................................... 40 在 JSP 中导入脚本 ................................................................................................. 40 高级 ....................................................................................................................... 41 DWR 与 Acegi ................................................................................................................ 42 问题提出 ................................................................................................................ 42 解决方案 ................................................................................................................ 42 第 5 章. DWR 中的 JavaScript 简介 ..................................................................................................... 44 简单的回调函数 .............................................................................................................. 44 调用元数据对象 .............................................................................................................. 45 查找回调函数 ................................................................................................................. 45 创造一个与 Java 对象匹配的 Javascript 对象 ................................................................. 46 第 6 章. engine.js 功能 ........................................................................................................................ 47 使用选项......................................................................................................................... 47 选项索引......................................................................................................................... 48 处理器(Handler) .................................................................................................... 48 调用处理器(Call Handler) .................................................................................... 48 Hooks (一个 batch 中可以注册多个 hook) ............................................................. 49 全局选项(在单次调用或者批量调用中不可用) ....................................................... 49 废弃的选项 ............................................................................................................. 49 未来版本的选项 ..................................................................................................... 49 选项说明......................................................................................................................... 50 批量调用 ................................................................................................................ 50 顺序调用 ................................................................................................................ 50 错误警告和超时 ..................................................................................................... 50 远程调 Hooks ........................................................................................................ 51 远程调用选项 ......................................................................................................... 51 第 7 章. util.js 功能 .............................................................................................................................. 54 $() .................................................................................................................................. 54 addOptions and removeAllOptions ................................................................................ 54 addRows and removeAllRows ....................................................................................... 55 getText ........................................................................................................................... 56 getValue ......................................................................................................................... 56 getValues ....................................................................................................................... 57 onReturn ........................................................................................................................ 57 selectRange ................................................................................................................... 57 setValue ......................................................................................................................... 58 setValues ....................................................................................................................... 58 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.2.6 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6 / 92
8.2 8.3 8.4 8.5 9.1 7.11 7.12 7.13 8.1 8.1.1 8.1.2 8.1.3 8.2.1 8.2.2 8.2.3 toDescriptiveString ......................................................................................................... 58 useLoadingMessage ...................................................................................................... 58 Submission box .............................................................................................................. 61 第 8 章. DWR 进阶 ............................................................................................................................... 63 DWR Annotations ........................................................................................................ 63 初始配置 ................................................................................................................ 63 远程访问类 ............................................................................................................. 63 对象转换 ................................................................................................................ 64 错误和异常处理 .............................................................................................................. 64 错误处理 ................................................................................................................ 64 异常 ....................................................................................................................... 65 找出更多的信息 ..................................................................................................... 65 传递额外的数据到 callback 函数 .................................................................................... 66 从其他的 URL 读取数据 ................................................................................................. 67 安全 ................................................................................................................................ 68 第 9 章. 范例精讲 ................................................................................................................................. 71 购物车 ............................................................................................................................ 71 介绍 ....................................................................................................................... 71 实现目录 ................................................................................................................ 72 测试部署 ................................................................................................................ 74 调用远程对象 ......................................................................................................... 75 实现购物车 ............................................................................................................. 77 调用远程的 Cart 方法 ........................................................................................... 79 演示结果 ................................................................................................................ 81 总结 ....................................................................................................................... 81 附录 ................................................................................................................................ 83 常见问题......................................................................................................................... 83 TransformerFactoryConfigurationError .................................................................. 83 XML 解析错误 ........................................................................................................ 83 使用 weblogic 的类路径问题 .................................................................................. 83 没有 cookies 的情况下用 DWR .................................................................... 84 JavaScript 高级应用 ....................................................................................................... 85 用变量操纵函数 ..................................................................................................... 85 高阶函数 ................................................................................................................ 86 动态类型 ................................................................................................................ 87 灵活的对象模型 ..................................................................................................... 89 本节总结 ................................................................................................................ 91 9.1.1 9.1.2 9.1.3 9.1.4 9.1.5 9.1.6 9.1.7 9.1.8 10.2.1 10.2.2 10.2.3 10.2.4 10.2.5 10.1.1 10.1.2 10.1.3 10.1.4 第 10 章. 10.1 10.2 7 / 92
1.1 简介 第1章. DWR 入门 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 的 onclick 事件的结果。 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 示例带领大家入门。 8 / 92
分享到:
收藏