首页>参考读物>计算机科学与技术>软件与程序设计

Java服务器高级编程
作者 : (英)Ayers,D.
译者 : 曾国平 等
出版日期 : 2001-05-01
ISBN : 7-111-08857-3
定价 : 92.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 896
开本 : 16开
原书名 : Professional Jave Server Programming
原出版社:
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

本书讲述servlet和Web编程,其重点集中在输入/输出流、请求和响应方面。servlet是任何能使用HTTP协议的客户同Java代码所控制的数据或服务之间进行通信的桥梁。本书展示了Java Servlets和JavaServer Pages(JSP)如何以可移植、安全、高效的方式向Web客户提供动态和可定制的内容。

图书前言

  前 言
  本书展示了Java Servlets和JavaServer Pages(JSP)如何以可移植、安全、高效的方式向Web客户提供动态和可定制的内容。
  由于Web应用实际上只相当于它们提供的功能操作,所以我们也介绍了将servlet和JSP对接到一起的Java Enterprise API。为了展示编写Java应用的实际情况,我们给出了5个正在使用的servlet和JSP的事例研究。
  本书适用的读者
  我们无需再介绍Java语言了。从发布那天起,Java就已被大家所熟知。本书不仅包括Java语言,而且还有Java 2平台,以及支持各种应用的类库,同时也说明了它们影响Web编程的方式。
  Java 2平台为编出可移植的、面向对象的、安全的Internet应用提供了一条快速成熟的途径。在过去的两年里,Java对应用的支持获得了快速增长。你现在可以开发出以下动态Web服务器应用:
   提供HTML、XML和GIF服务。
   分离界面、逻辑和数据。
   跟踪客户会话。
   比CGI更容易扩展。
   提供同数据库、其他Java应用、CORBA、目录和邮件服务的接口。
   利用应用服务器中间件提供事务支持。
  本书所讨论的API得到了广泛的工业支持,它们已被JavaSoft及其他专业合作伙伴所开发。其结果是,Java的这种可移植代码和开放API所带来的革命引起了现有产品的一些变化(包括数据库、应用、邮件和Web服务器)。能够在服务器上运行Java应用的产品的丰富性使得这项技术成为了快速发展和十分具有竞争力的市场,但同时通过规范、标准API和类库等手段保持了必要的兼容性,这使得服务器端Java成为了一个非常激动人心的领域。
  本书适用于那些有一定Web编程经验的专业开发人员,同时还假定他们熟悉Java语言和核心的API,可参阅其他相关内容的书籍获得这些知识。我们将回顾服务器端编程方面不断成熟的主要领域。
  本书内容
  简要地说,本书讲述servlet和Web编程,其重点集中在输入/输出流、请求和响应方面。servlet是任何能使用HTTP协议的客户同Java代码所控制的数据或服务之间进行通信的桥梁。
  本书的结构如下:
   作为一本servlet编程指南,讨论了类、servlet的生命周期、错误处理、会话和servlet环境,并列举了一些例子。
   介绍了JSP,说明了它与servlet的关系,给出了使用标记(tag)的方式,并创建了bean(可重用对象)用于封装事务逻辑和保持页面的简洁。
   在前面讨论的基础上,接下来的几章即讨论了如何将servlet融合到应用中,还用了一些章节讨论数据库访问、连接池(pool)、邮件的工作方式、servlet(小服务程序)和applet(小应用程序)以及servlet和servlet之间的通信。
.   在Web上使用XML(可扩展标记语言)是这些应用的即将到来而又至关重要的部分,我们将简介用Java处理XML和一个向浏览器提供XML数据的实例。
   接下来的章节讨论了n-层(n-tier)应用的设计、国际化以及根据输入动态地构造运行时行为的servlet,如何利用JNDI来命名和访问目录服务,讨论了EJB的设计并给出了一个servlet spider研究实例。
   最后,我们介绍Jini和JavaSpace,并展示了这些新技术的一些应用前景。
  附录给出了编程方面的补充材料、关于servlet引擎的安装建议和全书所使用的企业版类和接口的详细API参考。
  使用本书的准备工作
  本书代码在Java 2 Platform Standard Edition SDK上(JDK 1.2.1)通过测试。另外,我们还需要安装其他一些库,这些库及版本如下:
   servlet。我们使用JSDK 2.1和JSWDK 1.0 EA,这里包含的servlet引擎适用于大多数软件测试。
   JSP 1.0。我们使用JavaSoft公司的JSP 1.0参考实现的发行版。
   XML语法分析器。我们使用Sun的ProjectX类(http://java.sun.com/xml)。
   GIF编码器。可以从http://www.acme.com 获得。
   数据库。任何JDBC/ODBC兼容数据库,我们使用Access和MySQL。
   邮件服务器。同JavaMail 1.1.2和JAF 1.0.1连接在一起的任何SMTP邮件服务器。
   JNDI/LDAP服务器。Netscape目录服务器、JNDI 1.2 Beta(1.1.2)。
   国际字体。
   Jini和JavaSpace。我们使用这两个套件的1.0版。
   Enterprise Java Beans 1.1。
   Web Servers/Servlet Runners。使用Apache 1.3.6、Apache Jserv1.0、JRun2.3、Servlet Exec和Java Web Server 2.0。
  如果计算机与网络相连(即能够通过本地浏览器看到http://localhost),各章的大多数代码都可在单机上运行。Jini章节实际上需要3台联网的机器以使代码能够完成。同时请注意,Jini代码还需要UDP支持,一些Windows用户需要更新Winsock的版本。
  本书所有源代码都可以从如下地址下载:http://www.wrox.com。
  约定
   粗体代码段属于Java类库的定义。
   键盘控制键表示为:Ctrl-A。
   文件和代码表示为:doGet( )
   用户界面上的URL和文本表示为:http://www.wrox.com。
  联系方法
  我们勤奋工作是为了尽可能让本书对你有用,因此我们十分希望知道你的想法。我们总是热切希望了解你需要掌握的东西。我们衷心希望得到反馈,欢迎你提出意见,以便今后的工作。有什么想法,请通过如下联系方式告诉我们:
  feedback@wrox.com或者http://www.wrox.com

作者简介

(英)Ayers,D.:暂无简介

译者简介

曾国平 等:暂无简介

译者序

  译 者 序
  随着因特网和万维网的发展,我们可以在世界各地共享信息,为客户提供服务,甚至进行电子商务活动。作为Web应用开发者,面临的挑战是需要进一步推动它的发展。随着技术的不断更新,需要开发出更快、更轻巧、更强壮的能通过Web进行发布的网上应用。在这方面,已经出现了许多功能强大的工具。过去,如果想通过Web发布一个数据库驱动的应用给客户,你只能写一些CGI程序处理格式化的数据并返回结果;但最近几年,出现了大量的新技术,像ISAPI和NSAPI这类API,它们比CGI的效率更高,但复杂性也随之提高;像Active Server Pages(即ASP)和PHP这类脚本解决方案有助于简化Web应用开发。这些方案已经为处理逻辑和数据资源通信的组件提供了Web接口,这是一种创建Web应用的集成技术。为了充分发挥这些技术的潜力和提供更好扩展、更好移植的服务器端解决方案,充分体现当今Web应用中流行的分离处理内容显示、业务逻辑和数据源的标准技术,Sun公司开发了一种新的称为servlet的技术;Java servlet非常高效,具有平台无关性,它为Web应用提供了一个面向对象的、扩展性好的中间层,能够访问像JNDI、JDBC、RMI这类企业版Java的API函数和Enterprise JavaBeans(EJB)。
  本书将讨论Java servlet以及同服务器端相关的Java技术,将讲解怎样使用最新的称为JavaServer Pages(JSP)的服务器端Java技术;讨论了如何将servlet融合到应用中,阐述了数据库访问、连接池(pool)、邮件的工作方式以及servlet、applet之间的通信;介绍了XML技术和用Java处理XML的方式;讨论了n-层应用的设计、国际化以及动态构造运行时行为的servlet,给出了如何利用JNDI命名和访问目录服务,描述了EJB的设计方式;最后,本书介绍了Jini和JavaSpace,展示了这些新技术的一些应用前景。
  本书提供了Java服务器端编程的最新技术,同时还附有大量的代码,提供了丰富的Web资源信息,最后还给出了内容详尽的附录,附录包括了HTTP协议、几个servlet引擎的安装建议和在全书中所使用的企业版类和接口的详细API参考。本书内容丰富,编程技术先进,对于开发Web应用的程序设计人员具有很高的参考价值;同时也能为想要理解和掌握Java服务器端编程的读者提供帮助。
  参加本书翻译工作的人员都是多年从事计算机网络、数据库开发和翻译工作的专业人员,完成本书主要翻译工作的人员有曾国平、冯伟、王占峰、赵胜龙、王志军、黄永宏、杜皎、陈连俊;参加本书翻译和录校工作的还有付增少、张景生、赵祥龙、曹丽云、刘俊杰、赵宇龙、陶雪鹤、杨成、徐一鸣、易崇、懂泽明、罗俊、赵燕、蒋泽云、黄显春、杨华、陈清明、李斌、帅旭等人。
  鉴于时间仓促,加之译者水平有限,书中难免有翻译不妥之处,恳请广大读者和同行批评指正。
  2000年10月
  

图书目录

第1章 Web应用开发 1
1.1 Web结构 1
1.1.1 Web浏览器 2
1.1.2 Web服务器 3
1.2 n-层应用 4
1.3 Web应用的体系结构 5
1.3.1 收集数据 6
1.3.2 向Web服务器发送请求 6
1.3.3 执行服务器脚本 7
1.3.4 将结果返回浏览器 8
1.4 开发服务器应用 8
1.4.1 服务器端的技术 8
1.4.2 Java的特点 10
1.5 小结 11
第2章 servlet简介 12
2.1 servlet容器 12
2.1.1 servlet API 14
2.1.2 servlet的构造 18
2.2 简化HTML的生成过程 21
2.3 关于性能的几点注释 23
2.4 处理表单数据和发送邮件 23
2.4.1 建立HTML表单 24
2.4.2 编写servlet 25
2.5 小结 29
第3章 错误处理和事件记录 30
3.1 异常 30
3.1.1 运行时刻和编译时刻错误 30
3.1.2 在Java中处理异常 31
3.1.3 在servlet中处理异常 33
3.1.4 发送HTTP错误 38
3.1.5 记录事件 39
3.1.6 使用servlet异常 40
3.2 小结 41
第4章 会话与会话跟踪 42
4.1 会话 42
4.2 使用传统方法进行会话跟踪 43
4.2.1 重写URL 43
4.2.2 隐藏表单字段 43
4.2.3 cookies 44
4.3 使用Java Servlet API进行会话跟踪 44
4.3.1 获得一个会话对象 45
4.3.2 读写会话数据 45
4.3.3 使会话对象失效 46
4.3.4 一个使用会话的简单购物车 46
4.3.5 方法的选择 50
4.4 小结 50
第5章 使用servlet环境 51
5.1 “聊天”应用概述 51
5.2 servlet环境的配置 55
5.2.1 servlet环境的唯一URI路径前缀 55
5.2.2 servlet环境的servlet名称和URI路径
映射 56
5.2.3 优点 56
5.3 servlet环境状态 58
5.3.1 初始化servlet环境状态 58
5.3.2 访问环境状态 59
5.4 改变环境状态 66
5.5 运行聊天应用 68
5.5.1 配置servlet引擎 68
5.5.2 添加聊天室 70
5.5.3 聊天 70
5.6 小结 71
第6章 生成动态内容 73
6.1 MIME类型 73
6.1.1 Image/jpeg 73
6.1.2 Image/gif 74
6.1.3 Image/png 74
6.2 返回二进制数据 74
6.3 创建GIF图像 75
6.3.1 创建一个不显示的图像 75
6.3.2 对图像进行编码 76
6.4 统计图servlet 77
6.4.1 实用类 77
6.4.2 servlet本身 80
6.4.3 图形环境 81
6.4.4 创建颜色 82
6.4.5 绘制饼形图 84
6.4.6 绘制条形图 85
6.4.7 创建一个嵌入图像的HTML页面 87
6.4.8 反向链接到页面 90
6.5 小结 91
第7章 JavaServer Pages介绍 92
7.1 体系结构概述 92
7.2 一个简单的JavaServer Page 93
7.2.1 JavaServer Page的编程元素 94
7.2.2 JSP伪指令 95
7.2.3 JSP声明 96
7.2.4 JSP scriptlet 96
7.2.5 JSP表达式 98
7.2.6 编写JSP页面的代码 98
7.3 使用具有JSP的JavaBean组件 98
7.4 文件浏览器 103
7.5 浏览和查询数据库 105
7.5.1 询问正确的问题 106
7.5.2 查询数据库 107
7.5.3 浏览数据库 112
7.5.4 混合servlet和JSP 116
7.6 用applet和bean增强用户界面 117
7.7 小结 117
第8章 连接数据库 118
8.1 向servlet增加数据 118
8.1.1 Java数据库连接性 118
8.1.2 影片数据库 123
8.2 用预备式语句优化性能 131
8.3 合并Connection对象 135
8.4 小结 140
第9章 连接池 142
9.1 池化资源 142
9.2 传统的连接池 143
9.2.1 ConnectionPool类 144
9.2.2 PoolManager类 150
9.2.3 例子客户 157
9.3 JDBC 2.0 Standard Extension连接池 158
9.3.1 主要概念 159
9.3.2 带有连接池的DataSource 160
9.4 将我们的连接池修改得像JDBC 2.0 SE 162
9.4.1 ConnectionWrapper类 162
9.4.2 ConnectionPool的修改 163
9.4.3 例子客户 164
9.5 小结 165
第10章 servlet链接 166
10.1 使用别名链接servlet 166
10.1.1 配置servlet引擎 167
10.1.2 使用别名的servlet链接 170
10.2 使用MIME类型过滤servlet结果 174
10.2.1 配置Web服务器 174
10.2.2 使用MIME-Type过滤内容 174
10.3 小结 177
第11章 servlet通信 178
11.1 从applet中调用servlet 178
11.2 RequestDispatcher 接口 184
11.3 小结 186
第12章 利用servlet进行分布式计算 188
12.1 远端方法调用 188
12.1.1 远端对象 189
12.1.2 stub 和skeleton 191
12.1.3 RMI注册表 191
12.1.4 Java客户 191
12.1.5 实现RMI的步骤总结 192
12.2 Java 2的安全机制 192
12.3 建立一个远端对象 193
12.3.1 创建远端接口 194
12.3.2 实现远端接口 194
12.3.3 编译并运行代码 195
12.3.4 创建RMI客户应用 195
12.4 建立RMI客户的servlet 196
12.4.1 安装安全管理器 196
12.4.2 获得远端接口的引用 196
12.4.3 调用远端方法 197
12.5 小结 198
第13章 JavaMail和servlet 199
13.1 安装JavaMail 199
13.2 提供者注册表 200
13.3 使用JavaMail 200
13.3.1 JavaMail会话 201
13.3.2 构造一个报文 202
13.3.3 传输服务 203
13.4 SendMail servlet 204
13.5 存储转发服务 206
13.6 WebMail servlet 208
13.7 小结 213
第14章 XML介绍 214
14.1 什么是XML 214
14.1.1 可扩展性 215
14.1.2 可结构化 216
14.1.3 可确认性 216
14.2 XML像什么 216
14.3 用Java进行分析 217
14.4 有效的XML文档 220
14.5 DTD像什么 221
14.5.1 名称 222
14.5.2 数据类型 222
14.5.3 注释 223
14.5.4 包含/忽略 223
14.5.5 数据处理指令 224
14.5.6 码元声明 224
14.5.7 属性字声明 226
14.5.8 实体声明 226
14.5.9 符号声明 228
14.6 对有效XML进行分析 229
14.7 关于分析的更多内容 231
14.8 SAX 232
14.9 DOM 236
14.10 Pizza servlet 238
14.11 小结 249
14.12 XML的资源 250
第15章 站点Weeds of EI Limon 2 253
15.1 站点介绍 253
15.2 工作原理 256
15.3 不友好的网络 258
15.4 工具 259
15.5 XML、SQL和Java对象 259
15.5.1 XML文件 259
15.5.2 XML到SQL的映射 262
15.6 Weeds类 268
15.6.1 将关系数据库映射到对象 270
15.6.2 创建并装入数据库 273
15.7 URL重写和文件的布局 275
15.7.1 Web浏览器中的网页 276
15.7.2 服务器上实际有些什么 276
15.8 JSP和JavaBean 278
15.8.1 Index.jsp和Common.jsp 280
15.8.2 Weed.jsp 281
15.8.3 Error.jsp 283
15.9 bean 284
15.10 从数据库中提取图像 287
15.10.1 ViewWeed类 287
15.10.2 InsertImages类 288
15.11 小结 289
第16章 错误跟踪器事例研究 290
16.1 工程介绍 290
16.2 开发过程的选择 291
16.3 合理统一过程 291
16.3.1 开始阶段 292
16.3.2 详细描述阶段 292
16.3.3 构建阶段 293
16.3.4 转移阶段 294
16.3.5 RUP内的活动 294
16.4 错误跟踪器的开始阶段 295
16.5 下一步工作 301
第17章 错误跟踪器事例研究: 详细描述、
构建和转移阶段 303
17.1 详细描述 303
17.1.1 原型设计 303
17.1.2 低精度的用户界面原型设计 303
17.1.3 技术选择—信息输出 304
17.1.4 技术选择—对象的分布 306
17.1.5 技术选择—报文处理 308
17.1.6 定义应用的体系结构 309
17.1.7 充实对象模型 311
17.2 质量工程 318
17.3 构建 321
17.3.1 用IDL定义组件 325
17.3.2 构建业务模型组件 326
17.3.3 业务模型对象的定义及持续性 328
17.3.4 建立映射组件 331
17.3.5 构建业务逻辑组件 335
17.3.6 构建用户界面组件 340
17.3.7 构建错误跟踪器的servlet 342
17.3.8 建立错误跟踪器 351
17.4 转移阶段 351
17.4.1 配置运行时刻选项 351
17.4.2 配置和建立数据库 351
17.4.3 运行错误跟踪器 352
17.4.4 运行Web客户 355
17.5 小结 356
第18章 从CGI转移到servlet 357
18.1 概述 357
18.2 获得环境变量 357
18.3 使用cookie 359
18.3.1 用Java来处理cookies 360
18.3.2 举例—用cookies创建一个购物车 361
18.4 正则表达式 366
18.5 小结 372
第19章 国际化Web站点 374
19.1 字符集 374
19.2 字符编码 374
19.3 在Java核心API中支持的字符编码 375
19.4 内容协商 376
19.5 Servlet API中支持的字符编码 381
19.5.1 国际化servlet 381
19.5.2 返回文本文件的变体 386
19.6 小结 393
第20章 智能servlet 395
20.1 混合的网络配置 395
20.2 混合的数据库平台 396
20.3 混合的处理和操作系统平台 396
20.3.1 servlet的解决方案:one-to-one 398
20.3.2 servlet链接的解决方案 399
20.3.3 智能servlet解决方案 399
20.4 请求的处理过程 399
20.5 进程授权 402
20.6 在企业中实现“智能servlet” 403
20.6.1 servlet作为任务管理者 403
20.6.2 授权请求的力量 405
20.6.3 将进程与servlet分离 405
20.6.4 尽可能地抽象servlet和ancester类 405
20.7 智能servlet的扩展性 405
20.7.1 用Hashtable排除方法参数 405
20.7.2 不需重新编译servlet而添加功能 406
20.7.3 使用预先做好的HTML文件进行
动态更改 406
20.8 小结 409
第21章 使用JNDI进行服务器编程 411
21.1 命名和目录服务 411
21.1.1 网络就是计算机 411
21.1.2 命名服务 412
21.1.3 目录服务 412
21.2 为什么使用LDAP 413
21.3 介绍JNDI 415
21.4 使用JNDI 417
21.4.1 安装JNDI 417
21.4.2 JNDI程序包 418
21.5 JNDI服务提供者和AKA JNDI驱动
程序 418
21.5.1 如何得到JNDI服务提供者 419
21.5.2 开发自己的服务提供者 419
21.6 基本的LDAP操作 420
21.6.1 标准的LDAP操作 420
21.6.2 用JNDI连接到LDAP服务器 420
21.6.3 绑定 421
21.6.4 检索LDAP服务器 423
21.6.5 确定LDAP的检索范围 423
21.6.6 检索操作 424
21.7 LDAP服务器的修改 430
21.7.1 增加条目 430
21.7.2 修改条目 433
21.7.3 删除条目 435
21.8 小结 436
第22章 使用LDAP和Java 437
22.1 在LDAP里存储和取回Java对象 437
22.2 分散存储和集中存储 439
22.3 使用JNDI/LDAP改进顾客服务 440
22.3.1 介绍基本对象 441
22.3.2 获得数据 441
22.3.3 屏幕镜头 442
22.3.4 LDAP的目录信息树 444
22.3.5 顾客服务代码 447
22.4 小结 458
第23章 Enterprise JavaBeans 459
23.1 Web需要可移植性 459
23.1.1 Java和Web 459
23.1.2 服务端移植性 460
23.1.3 用于Web应用的服务 462
23.1.4 Enterprise JavaBeans和WebOS 465
23.2 EJB规范 465
23.2.1 在EJB规范中的角色 466
23.2.2 indirection观点 468
23.2.3 三种规约定义一个容器 473
23.3 会话bean 474
23.3.1 引用和句柄是活动的 476
23.3.2 会话bean的生命周期 477
23.3.3 事务性和非事务性方法 478
23.3.4 钝化和激活 479
23.4 实体bean 480
23.4.1 实体bean的持续性 480
23.4.2 实体bean的身份 483
23.4.3 实现主关键字 484
23.4.4 搜索器 485
23.4.5 激活和钝化 486
23.4.6 实体bean的生命周期 487
23.5 事务管理 489
23.6 调度描述符 491
23.7 小结 495
第24章 索引和检索 496
24.1 spider 496
24.1.1 信息搜集 497
24.1.2 附加信息 498
24.1.3 分析器 498
24.1.4 数据库 502
24.2 GUI 511
24.3 开始爬行 518
24.4 我,机器人 520
24.5 客户 520
24.6 优化和扩展 526
24.7 链接 527
第25章 未来服务器Jini和JavaSpace 528
25.1 警告:即将发生的变化 528
25.2 展望未来:Jini事例研究 528
25.2.1 在线贷款许可Web站点 528
25.2.2 仔细考虑的问题 530
25.3 驱动分布式设备 530
25.3.1 分布式计算 530
25.3.2 自然不协调性 531
25.4 计算上的革命 532
25.4.1 集中式控制与动态分组分裂 532
25.4.2 Jini是我们共同工作的方式! 533
25.5 剥离Jini层 538
25.5.1 发现和加入协议 538
25.5.2 查找服务—代理 541
25.5.3 Sun提供的实现 552
25.6 投入Jini的海洋 557
25.6.1 为探测准备系统 558
25.6.2 接触REGGIE—一个参考查找
服务 560
25.6.3 其他基本的Jini部分 566
25.6.4 编写三个Jini服务的代码 567
25.6.5 编写一个Jini客户的代码 575
25.6.6 测试自己的djinn 577
25.6.7 随着Jini技术一同前进 579
第26章 同JavaSpace一起工作 581
26.1 什么是JavaSpace 581
26.1.1 JavaSpace是Java接口 581
26.1.2 JavaSpace是Jini服务 582
26.1.3 JavaSpace像查找服务 582
26.1.4 JavaSpace是真正的对象数据库 583
26.1.5 JavaSpace是你的MOM 583
26.1.6 JavaSpace是steroid上的一种排队
服务 585
26.1.7 看看飘在天空中的云 585
26.2 个人的JavaSpace构造集合 585
26.2.1 和你需要的空间一样多 586
26.2.2 JavaSpace里的条目 586
26.2.3 write()方法 586
26.2.4 read()方法 587
26.2.5 take()方法 587
26.2.6 通知的注册:Jini分布式事件 588
26.2.7 条目提交的优化 589
26.2.8 用JavaSpace实现工作流程 590
26.2.9 将并行性加入到JavaSpace系统中 591
26.3 将JavaSpace添加到我们的事例研究中 592
26.3.1 系统中的服务 592
26.3.2 系统中的JavaSpace 593
26.3.3 系统的示意图 594
26.3.4 精炼我们的设计 595
26.3.5 准备实现 599
26.3.6 JavaSpace小结 600
第27章 编写基于Jini的站点的代码 601
27.1 模拟业务逻辑 601
27.2 本地优化 601
27.3 附加模块 601
27.4 编写定制条目 602
27.4.1 UserEntry 602
27.4.2 UserEntryBean 603
27.5 编写ServerNode 604
27.6 编写JSpaceServlet 608
27.7 编写服务节点 614
27.7.1 NameVerifierNode 614
27.7.2 CreditCheckerNode 616
27.7.3 HumanVerificationNode 618
27.8 编写测试工具 621
27.8.1 DataPut—一个空间写入器 622
27.8.2 流量生成器 624
27.8.3 DumpSpace—一个空间转储器 625
27.8.4 编译代码 627
27.9 创建JavaSpace 628
27.9.1 mahalo—Sun的事务服务 628
27.9.2 outrigger—Sun的JavaSpace服务 628
27.9.3 演奏JavaSpace交响乐 629
27.10 设置系统 630
27.10.1 在三个机器组成的网络上的实现
步骤 630
27.10.2 一步一步的启动过程 632
27.10.3 测验我们的分布式系统 634
27.10.4 我们已经成功地完成了的工作 635
附录A HTTP 636
附录B Java对象流及串行化 652
附录C 密码术和servlet 669
附录D LogWriter类 699
附录E UML符号 701
附录F JServ的配置 705
附录G ServletRunner和Java Web Server的
配置 737
附录H JRun的配置 742
附录J JSDK API 参考 748
附录K JavaServer Pages API参考 760
附录L JNDI API参考 765
附录M 核心JavaMail/JAF API参考 803
附录N 核心Jini API 参考 832
附录O JavaSpaces API 参考 852
附录P Enterprise JavaBeans API 参考 854
附录Q JDBC API参考 862
附录R 支持与勘误表 890

教学资源推荐
作者: [美]基普·R. 欧文(Kip R. Irvine) 著
作者: 邱李华 郭志强 曹青
作者: 邱李华,曹青,郭志强
参考读物推荐
作者: (美)马丁 L. 阿伯特(Martin L. Abbott)  迈克尔 T. 费舍尔(Michael T. Fisher) 著
作者: [西]葛罗瑞亚·布埃诺·加西亚(Gloria Bueno Garcia) 奥斯卡·德尼茨·苏亚雷斯(Oscar Deniz Suarez) 何塞·路易斯·埃斯皮诺萨·阿兰达(Jose Luis Espinosa Aranda) 等著