第1 部分 企业系统基础 1
第1章 企业体系结构概述 1
1.1 企业 1
1.2 企业组件 3
1.3 企业中的信息技术 4
1.4 小结 6
第2章 企业中面向对象软件开发 7
2.1 企业对象 7
2.1.1 面向对象软件元素 7
2.1.2 面向对象软件对企业的重要性 9
2.2.1 开发过程概述 10
2.2 面向对象开发过程 10
2.2.2 项目宗旨 11
2.2.3 需求分析 11
2.2.4 初步系统设计 12
2.2.5 详细设计 12
2.2.6 实现 13
2.2.7 单元测试 13
2.2.8 装配 13
2.2.9 线程测试 13
2.2.10 配置规范 13
2.2.11 系统测试 13
2.2.13 维护 14
2.2.14 开发中的反复性与阶段性 14
2.2.12 部署 14
2.3 统一建模语言 15
2.3.1 静态逻辑结构图 15
2.3.2 动态行为图 17
2.4 小结 19
第3章 企业中基于组件的软件开发 20
3.1 企业组件 20
3.2 组件模型 21
3.2.1 一般组件模型 21
3.2.2 组件模型接口 22
3.3 基于组件的开发 24
3.4.1 标准组件模型 26
3.4 标准 26
3.4.2 设计模式 27
3.5 小结 28
第4章 企业开发的Java基础 29
4.1 Java特性和版本 29
4.1.1 极具魅力的Java企业特性 30
4.1.2 Java版本历史 30
4.2 Java平台体系结构 31
4.2.1 Java开发和运行环境 31
4.2.2 Java运行平台体系结构 31
4.2.3 Java运行优化 32
4.3 Java 文件和工具 33
4.3.1 Java文件类型 33
4.3.2 基本Java 源文件结构 33
4.3.4 Java软件开发包工具 35
4.3.3 基本的JAR和Manifest文件结构 35
4.4 Java语言 36
4.4.1 Java基本类型 36
4.4.2 Java操作符 37
4.4.3 Java语言结构 38
4.5 核心Java语言API 41
4.5.1 基本语言和系统API 41
4.5.2 错误和异常 43
4.5.3 类型和数学API 43
4.5.4 反映(Reflection) 44
4.5.6 事件 46
4.4.5 无用单元回收 46
4.6 集合AIP 47
4.6.1 非关键的集合框架 48
4.6.2 映射的集合框架 50
4.7 输入/输出和状态保持API 51
4.7.1 字节I/O流 52
4.7.2 字符I/OReader和Writer 53
4.7.3 归档文件API 54
4.7.4 属性文件 54
4.8 线程API 56
4.9 时间和日期API 59
4.10 Java小应用程序 60
4.11 小结 64
5.1 J2EE模型 65
第5章 J2EE的Java企业系统体系结构 65
5.1.1 J2EE特性 66
5.1.2 J2EE 组件-容器体系结构 66
5.1.3 J2EE约束 68
5.2 企业Java和J2EE体系结构 69
5.2.1 Java企业系统体系结构概况 69
5.3 数据连接 71
5.4 通信机制 71
5.5 保证机制 73
5.6 客户连接 74
5.7 Web连接 75
5.8 应用程序连接 75
5.9 J2EE的未来发展 76
5.10 小结 77
第6章 企业用户接口 78
6.1 分布式企业用户接口 78
6.2 JavaAWT组件 81
6.2.1 AWT组件、容器和布局 81
6.2.2 AWT事件 81
6.2.3 部署考虑 82
6.3 Java SWing组件 82
6.3.1 Swing组件、容器、布局和事件 82
6.3.2 SWing模型 82
6.3.3 SWing的外观 83
6.3.4 SWing组件辅助程序 83
6.3.5 部署考虑 83
6.4.4 可访问性 84
6.4.3 打印 84
6.4.5 JavaHelp 84
6.4.1 数据传输 84
6.4 实用工具和辅助组件 84
6.4.2 拖放 84
6.5 图形和多媒体组件 85
6.5.1 AWT图像 85
6.5.2 2D图形 85
6.5.3 3D图形 85
6.5.4 Java 高级成像 85
6.5.5 Java媒体API 85
6.5.6 输入方法框架 86
6.6 Web 页面接口 86
6.6.1 Web 接口内容 86
6.7 小结 87
6.6.2 Web 接口产生器 87
第7章 使用JavaBean进行组件建模 89
7.1 JavaBean概述 89
7.2 JavaBean容器 91
7.2.1 JavaBean容器 91
7.2.2 JavaBean组件 92
7.2.3 JavaBean上下文 93
7.3 JavaBean事件 94
7.4 JavaBean属性 97
7.4.1 简单属性 97
7.4.2 数组和可索引的属性 99
7.4.3 绑定的属性 99
7.4.4 受限属性 101
7.5 JavaBean内视 102
7.6 JavaBean持续性 105
7.7 JavaBean定制 106
7.7.1 属性编辑器 106
7.7.2 定制器 107
7.8 InfoBus 108
7.9 小结 109
第2部分 使能企业数据 111
第8章 企业数据 111
8.1 数据库基础 112
8.1.1 数据模型的抽象级别 112
8.1.2 一般DBMS体系结构 112
8.1.3 事务 113
8.2.1 RDBMS体系结构 115
8.2 关系数据库 115
8.2.2 SQL 116
8.2.3 数据模型图示约定 119
8.3 对象数据库 120
8.3.1 ODBMS体系结构 120
8.4 RDBMS与ODBMS 121
8.5 关系/对象转换 123
8.6 CLI 125
8.7 嵌入式SQL 125
8.8 ODBC 127
8.9 JDBC 128
8.10 小结 128
第9章 JDBC基础 129
9.1 JDBC体系结构 129
9.2 JDBC驱动程序及其类型 132
9.2.1 驱动程序评估 135
9.3 JDBC驱动程序的配置 136
9.3.1 根据类型配置驱动程序的一般步骤 137
9.3.2 配置BeeShirts.com示例数据模型 138
9.4 JDBC连接 139
9.4.1 数据库统一资源定位器 140
9.4.2 创建连接 140
9.4.3 示例:连接到数据库 141
9.5 JDBC语句 144
9.5.1 使用普通的语句 144
9.5.2 包含联接、外部联接和LIKE子句的查询 145
9.5.3 示例:创建并执行语句 146
9.5.4 使用预先准备好的语句 149
9.5.5 示例:创建与执行预先准备好的语句 150
9.6 JDBC结果集 153
9.6.1 对结果集进行操作 153
9.6.2 获得关于结果集的信息 155
9.6.3 示例:操作结果集和结果集元数据 156
9.7 SQL与Java 之间的映射 159
9.8 JDBC元数据 161
9.8.1 获取关于数据库及驱动程序的信息 161
9.8.2 示例:数据库元数据的简单用法 162
9.9 小结 166
第10章 高级JDBC 167
10.1 可滚动的结果集 167
10.1.1 创建可滚动的结果集 168
10.1.2 在结果集中滚动 169
10.1.3 驱动程序对可滚动结果集的支持 170
10.1.4 示例:可滚动的结果集 171
10.2 可更新的结果集 177
10.2.1 创建可更新的结果集 177
10.2.2 更新行 178
10.2.3 撤消更新 178
10.2.4 插入行 178
10.2.5 册除行 179
10.2.6 数据库变化的可见性 179
10.2.7 驱动程序对可更新的结果集的支持 182
10.2.8 示例:可更新的结果集 182
10.3 成批更新 186
10.3.1 创建成批更新 187
10.3.2 执行成批更新 187
10.3.3 示例:成批更新 188
10.4 高级数据类型 190
10.4.1 Java对象类型 190
10.4.2 SQL3类型 191
10.4.3 定制类型 195
10.4.4 扩充BeeShirts.com示例数据模型 196
10.4.5 示例:通过JDBC使用高级的SQL类型 197
10.5 行集 203
10.5.1 行集的体系结构 203
10.5.2 使用行集 204
10.5.3 行集的实现 204
10.5.4 管理内部行集的状态与行为 206
10.6 存储过程 206
10.6.1 预定义的数据库函数 206
10.6.2 创建存储过程 207
10.6.3 执行存储过程 208
10.6.4 创建某些BeeShirts.com存储过程 209
10.6.5 示例:调用存储过程 210
10.7 通过JNDI来进行数据库命名 211
10.8 连接池 213
10.9 分布式事务 215
10.10 小结 216
第3部分 使能分布式企业通信 218
第11章 分布式企业通信 218
11.1 分布式系统 218
11.2 分布机制 220
11.3 网络客户 222
11.4 网络服务器 223
11.5 小结 224
第12 章 网络通信 226
12.1 网络计算 226
12.1.1 协议和通信层 227
12.2 TCP/IP协议簇 229
12.2.1 TCP/IP追根溯源 229
12.2.2 TCP/IP通信层 229
12.2.3 TCP/IP实现和工具 232
12.3 套接字编程 233
12.3.1 基本的套接字编程 234
12.3.2 UDP数据报 251
12.3.3 定制套接字和工厂 253
12.4 通信流 253
12.5 小结 255
第13章 Web通信 256
13.1 因特网和万维网 256
13.1.1 Web的历史 256
13.1.2 URL 257
13.2 HTTP 258
13.2.1 基本的HTTP行为 259
13.2.2 MIME 261
13.2.3 HTTP请求 262
13.2.4 HTTP响应 263
13.2.5 Java中基本的HTTP处理 265
13.2.6 在HTTP之外跟踪会话 265
13.2.7 HTTP-NG 267
13.3 CGI 267
13.4 Servlet 268
13.5 HTML文档 269
13.6 动态HTML生成 270
13.7 小结 270
第14章 利用CORBA进行组件建模 271
14.1 CORBA概述 271
14.1.1 对象管理体系结构 272
14.1.2 CORBA3.0 273
14.1.3 CORBA的Java企业系统角色 273
14.2 ORB 274
14.2.1 ORB概念 274
14.2.2 客户端的ORB组件 275
14.2.3 ORB协议 275
14.3.1 GIOP概述 276
14.2.4 服务器端的ORB组件 276
14.3 GIOP和IIOP 276
14.3.2 IIOP概述 277
14.3.3 可互操作的对象引用 278
14.4 服务、设施和业务对象 278
14.4.1 CORBAservices 278
14.4.2 CORBAfacilities 280
14.5 IDL 281
14.5.1 一般的CORBA IDL文件格式 282
14.5.2 CORBA IDL到Java的映射 282
14.5.3 IDL编译 286
14.5.4 Java到IDL映射 287
14.6 按值传递对象 288
14.6.1 值类型 288
14.6.3 按值传递对象编码 289
14.6.2 按值传递对象的行为顺序 289
14.6.4 按值传递对象代码示例 290
14.7 小结 292
第15 章 CORBA通信 293
15.1 分布式CORBA 293
15.1.1 可扩展性设计 294
15.1.2 CORBA开发过程 295
15.2 CORBA供应商 296
15.2.1 基本工具和配置 296
15.2.2 供产商的产品 297
15.3 Java IDL 298
15.4 CORBA接口 299
15.5.1 编译IDL并产生主框架 301
15.5 CORBA服务器和主框架 301
15.5.2 创建CORBA服务器 302
15.6 实现存储池 313
15.7 对象适配器 313
15.7.1 基于BOA的服务器注册 313
15.7.2 JavaIDL服务器注册 314
15.7.3 基于POA的服务器注册 316
15.8 接口存储池 316
15.9 CORBA客户和存根 321
15.9.1 CORBA客户和静态存根 321
15.9.2 基于DII的客户 324
15.10 CORBA命名 326
15.11 小结 328
第16章 RMI通信 329
16.1 RMI基本概念 330
16.1.1 RMI体系结构 330
16.1.2 RMI包和工具 332
16.1.3 RMI架构配置 332
16.1.4 RMI开发过程 333
16.2 JRMP 334
16.3 RMI和IIOP 335
16.4 Java到IDL的映射 336
16.5 按值传递对象和RMI 337
16.6 RMI接口 338
16.6.1 RMI接口定义示例 338
16.7.1 RMI/JRMP服务器 341
16.7 RMI服务器和主框架 341
16.7.2 RMI/IIOP服务器 350
16.8 RMI注册 353
16.8.1 注册RMI/JRMP服务器 353
16.8.2 注册RMI/IIOP服务器 357
16.9 RMI客户和存根 360
16.9.1 RMI/JRMP客户和存根 360
16.9.2 RMI/IIOP客户和存根 364
16.10 RMI查找 366
16.10.1 RMI/JRMP查找 367
16.10.2 RMI/IIOP查找 367
16.11 RMI对象激活 367
16.11.1 创建一个可激活服务器 368
16.11.2 创建一个可激活服务器注册器 370
16.11.3 RMI可激活对象客户 371
16.11.4 编译和运行示例 373
16.12 定制套接字 373
16.13 小结 375
第17章 利用COM/DCOM进行组件建模 376
17.1 COM和DCOM简介 376
17.1.1 DCOM体系结构 377
17.1.2 基于Java 的开发工具 378
17.1.3 DCOM接口 379
17.1.4 DCOM标识符 379
17.1.5 DCOM标记 379
17.1.6 服务器地点 379
17.2 COM/DCOM服务 380
17.1.7 类型库和IDL 380
17.1.8 动态激发 380
17.3 接口定义语言 381
17.3.1 一般的DCOM IDL文件格式 382
17.3.2 DCOM IDL到Java映射 383
17.4 小结 385
第18章 DCOM通信 386
18.1 机器中的DCOM 386
18.1.1 DCOM开发过程 387
18.2 DCOM接口 387
18.3 DCOM标识符 390
18.4 DCOM类型 390
18.5.2 一般的DCOM服务器 391
18.5.1 生成Java绑定 391
18.5 DCOM服务器和主框架 391
18.5.3 DCOM服务器实现示例 392
18.5.4 编译DCOM服务器 401
18.6 DCOM服务器注册 402
18.6.1 利用javareg注册 402
18.6.2 利用一个注册表文件注册 402
18.6.3 透视DCOM对象 403
18.7 DCOM客户和存根 403
18.7.1 一般的DCOM客户 404
18.7.2 DCOM客户实现示例 405
18.8 DCOM客户注册和生成 407
18.9 DCOM桥 407
18.10 小结 408
第19章 命名服务 409
第4部分 分布式企业通信的公共服务 409
19.1 命名服务简介 410
19.1.1 句柄 410
19.1.2 句字 410
19.1.3 命名上下文和系统 411
19.2 JNDI命名服务 412
19.2.1 JNDI体系结构 412
19.2.2 命名对象 414
19.2.3 可引用对象 418
19.2.4 命名事件 420
19.2.5 JNDI示例 422
19.3.1 文件系统接口 431
19.3 命名文件 431
19.3.2 JNDI文件SPI 432
19.4 CORBA命名 433
19.4.1 CosNaming IDL 434
19.4.2 CosNaming服务实现 436
19.4.3 CORBA命名接口 436
19.4.4 JNDICosNaming SPI 437
19.5 RMI 命名 440
19.5.1 RMI命名系统接口 440
19.5.2 JNDI RMI SPI 441
19.6 DNS 446
19.6.1 域名系统 446
19.7 DCOM命名 448
19.6.2 基于Java的DNS接口 448
19.7.1 利用CLSID和ProgID对DCOM类命名 449
19.7.2 利用标记进行DCOM对象命名 449
19.8 小结 451
第20章 目录和交易服务 452
20.1 目录和交易服务概述 452
20.2 JNDI目录服务 453
20.2.1 目录上下文 454
20.3 NIS作为一种目录服务 461
20.3.1 JNDI NIS SPI 461
20.4 NDS作为一种目录服务 462
20.4.1 JNDI NDDS SPI 462
20.5 LDAP作为一种目录服务 463
20.5.1 LDAP接口 464
20.5.2 JNDI LDAP SPI 466
20.5.3 JND LDAP V3 API扩展 474
20.6 CORBA作为一种交易服务 475
20.6.1 CORBA交易服务组件 476
20.6.2 服务导出 477
20.6.3 服务导入 477
20.6.4 CORBA交易示例 481
20.7 Jini作为一种交易服务 483
20.7.1 Jini组件体系结构 483
20.7.2 Jini编程模型 484
20.7.3 Jini架构 485
20.7.4 Jini工具和配置 485
20.7.5 Jini类体系结构和开发进程 486
20.7.6 Jini服务示例 489
20.8 微软活动目录服务 492
20.9 小结 493
第21章 激活服务 494
21.1 激活服务概述 494
21.2 RMI激活框架 495
21.3 CORBA激活框架 497
21.4 CORBA生命周期服务 499
21.5 DCOM激活框架 501
21.6 JavaBean激活框架 502
21.7 Web和应用程序激活框架 503
21.8 小结 505
22.1 消息传递概述 506
第22章 消息传递服务 506
22.1.1 消息服务地点 507
22.1.2 点到点的消息传递 508
22.1.3 发布-订阅消息传递 508
22.1.4 推 消息传递模型和 拉 消息传递模型 508
22.1.5 消息过滤、同步和质量 509
22.1.6 电子邮件消息传递 510
22.2 MOM 510
22.3 Java消息服务 512
22.3.1 核心JMS体系结构 513
22.3.2 点到点消息排队模型 522
22.3.3 扩展BeeShirts.com示例的数据模型 524
22.3.4 点到点消息排队示例 524
22.3.5 发布-订阅模型 532
22.3.6 发布-订阅示例 533
22.4 CORBA消息传递 539
22.4.1 CORBA事件服务 539
22.4.2 CORBA通告服务 544
22.4.3 CORBA Messaging规范 544
22.5 JavaMail 546
22.5.1 电子邮件消息传递系统 546
22.5.2 JavaMail体系结构概述 548
22.5.3 JavaMail一般部分 549
22.5.4 JavaMail一般消息 549
22.5.5 JavaMail多部分消息 551
22.5.6 JavaMail MIME消息 551
22.5.7 JavaMail事件体系结构 552
22.5.8 创建邮件会话 553
22.5.9 消息仓库 557
22.5.10 消息仓库文件夹 558
22.5.11 消息传输 562
22.5.12 JavaMail示例 563
22.6 小结 569
第23章 事务服务 570
23.1 事务 571
23.2 事务服务 573
23.2.1 事务属性 575
23.2.2 事务隔离级别 575
23.2.3 事务模型 576
23.2.4 X/OPen分布式事务处理标准 577
23.3.1 核心OTS类型 578
23.3 对象事务服务 578
23.2.5 两阶段提交协议 578
23.3.2 OTS接口 579
23.4 Java 事务API 582
23.5 JTA事务管理器接口 583
23.6 JTA应用程序接口 584
23.7 JTA和X/Open XA 586
23.8 Java事务服务 586
23.9 小结 587
第5部分 企业系统安全保证 589
第24章 高度保证企业应用程序 589
24.1 什么是保证 590
24.1.1 谁应当提供保证 590
24.2 一般的保证过程 591
24.1.2 保证和交付代价之间的两难选择 591
24.2.1 识别保证问题 592
24.2.2 评估风险 593
24.2.3 生成风险减少的计划 594
24.2.4 评估风险-减少计划的代价 594
24.2.5 评估剩余的风险 595
24.3 保证还是不保证 595
24.3.1 失败的交付代价 595
24.3.2 进行决策 595
24.4 安全性 596
24.4.1 安全保证问题模型 596
24.5 可靠性 597
24.5.1 可靠性保证问题模型 597
24.4.2 安全风险减少计划 597
24.5.2 可靠性风险减少计划 598
24.6 可用性 599
24.6.1 可用性保证问题模型 599
24.6.2 可用性风险减少计划 599
24.7 可维护性 600
24.7.1 可维护性保证问题模型 600
24.7.2 可维护性风险减少计划 601
24.8 保险性 601
24.8.1 保险性保证问题模型 601
24.8.2 保险性风险减少计划 601
24.9 小结 602
25.1 基本的安全模型 603
第25章 安全基础知识 603
25.2 加密技术 605
25.2.1 加密技术的分类 605
25.2.2 消息摘要 607
25.2.3 对称密钥 607
25.2.4 非对称密钥 607
25.3 认证和不可抵赖 608
25.3.1 认证类型 608
25.4 安全套接字层 611
25.3.2 不可抵赖 612
25.5 访问控制 612
25.5.1 随意的访问控制 612
25.5.2 基于角色的访问控制 612
25.5.3 强制性的访问控制 612
25.7 审计 613
25.5.4 防火墙访问控制 613
25.6 域 613
25.8 策略和管理 614
25.9 小结 615
第26章 基本的Java安全 616
26.1 Java安全的历史 616
26.2 Java安全体系结构 618
26.2.2 Java加密技术体系结构 620
26.2.3 Java加密技术扩展 620
26.2.4 Java安全套接字扩展 620
26.2.5 Java认证和授权服务 621
26.3 字节码验证器 621
26.4.1 类加载器体系结构和安全 622
26.4 类加载器 622
26.4.2 类加载器接口 623
26.5 安全管理器 625
26.5.1 安全管理器接口 626
26.5.2 定制安全管理器 628
26.6 Java加密技术体系结构 629
26.6.1 JCA的体系结构 629
26.6.2 加密技术引擎 631
26.6.3 加密技术服务提供商 631
26.7 小结 633
第27章 高级Java安全 634
27.1 权限 634
27.1.2 权限类型 635
27.1.1 权限体系结构 635
27.1.3 定制权限类型 640
27.2 安全策略 640
27.2.1 安全策略文件格式 641
27.2.2 在策略文件中引用属性 642
27.2.3 使用安全策略文件 642
27.2.4 安全策略工具 643
27.2.5 安全策略API 643
27.3 Java访问控制 644
27.3.1 访问控制体系结构 645
27.3.2 防护对象 647
27.3.4 细粒度的和可配置的访问控制示例 650
27.4 主体标识 652
27.4.1 密钥 652
27.4.2 证书 654
27.4.3 密钥和证书存储 655
27.4.4 使用密钥和证书 656
27.3.3 Security Manager到访问控制的映射 657
27.5 保护对象 660
27.5.1 消息摘要 660
27.5.2 签名 663
27.5.3 签名对象 665
27.6 对代码签名 667
27.6.1 JAR Signer工具 667
27.6.2 代码签名的过程 668
27.6.3 代码签名示例 668
27.7.1 Java加密技术扩展 671
27.7 Java安全扩展 671
27.7.2 Java安全套接字扩展 672
27.7.3 Java认证和授权服务 674
27.8 小结 676
第28章 CORBA安全 677
28.1 CORBA安全概述 678
28.1.1 CORBA安全包 679
28.1.2 CORBA安全体系结构 679
28.1.3 核心CORBA安全接口 681
28.2 认证 683
28.3 代理 687
28.4 授权 688
28.5 审计 690
28.6 不可抵赖 691
26.2.1 核心Java2安全体系结构 691
28.7 加密 694
28.8 安全策略 695
28.9 安全管理 697
28.10 小结 697
第6部分 使能企业Web 技术 698
29.1 Web浏览器 699
29.1.1 Web浏览器体系结构 699
29.1.2 Web浏览器实现 700
29.2 Web浏览器安全 701
29.2.1 Web浏览器安全问题 701
29.2.2 Web浏览器的安全解决方案 701
29.3.1 安装Java插件至Web浏览器中 702
29.3 Java插件 702
29.3.2 指定Java插件JRE的使用 703
29.4 Web服务器 704
29.4.1 Web服务器体系结构 705
29.4.2 Web服务器实现 706
29.5 Web服务器安全 707
29.5.1 Web服务器安全问题 707
29.5.2 Web服务器安全解决方案 708
29.6 Web服务器的可用性 709
29.7 小结 710
第30章 传统Web编程和Java 711
30.1 HTML编程 711
30.1.1 HTML概述 712
30.1.2 HTML结构控制和显示元素 713
30.1.3 HTML表单 717
30.2 CGI编程 719
30.2.1 CGI程序示例 719
30.2.2 具有状态的CGI应用程序 722
30.2.3 CGI的优缺点 723
30.3 脚本语言 723
30.3.1 JavaScript 724
30.3.2 VBScript 726
30.3.3 Perl 726
30.4 活动服务器页面 727
30.5 基于Java的Web编程 728
30.6 小结 729
第31章 XML 730
31.1 XML概述 731
31.2 XML格式化 732
31.2.1 注释 733
31.2.2 XML声明 733
31.2.3 元素 733
31.2.4 属性 734
31.2.5 实体引用 734
31.2.6 处理指令 735
31.2.7 不分析的字符数据 735
31.2.8 良好格式的XML文档 736
31.3 DTD声明 736
31.3.1 文档类型定义标头 737
31.3.2 元素声明 737
31.3.3 记法声明 738
31.3.4 实体声明 739
31.3.5 属性声明 739
31.3.6 合法的XML文档 740
31.3.7 DTD示例 740
31.4 XML中的超链接 742
31.4.1 XLink 742
31.4.2 XPointer 745
31.5 XML样式表 745
31.6 XML的简单API 746
31.6.1 SAX体系结构 747
3.6.2 核心SAX对象 747
31.6.3 SAX应用程序的处理程序接口 748
31.6.4 SAX分析器接口 755
31.7 文档对象模型 758
31.7.1 DOM体系结构 759
31.7.2 DOM节点 759
31.7.3 DOM节点类型 762
31.7.4 DOM分析 766
31.8 Java和XML 768
31.8.1 Java企业API和XML 769
31.8.2 J2EE和XML 770
31.8.3 使用XML的J2EE应用程序部署描述 770
31.9 小结 772
第32章 Java Servlet 773
32.1 Servlet体系结构 773
32.1.2 Servlet生命周期 774
32.1.1 Servlet逻辑结构和物理结构 774
32.2 Servlet接口 775
32.2.1 Servlet 异常抽象 775
32.2.2 基本Servlet 框架抽象 776
32.2.3 Servlet框架示例 779
32.3 Servlet HTTP接口 781
32.3.1 基本HTTP Servlet框架抽象 781
32.3.2 Java HTTP Servlet 示例:BeeShirts.com 783
32.4 请求处理 787
32.4.1 请求处理抽象 787
32.4.2 Servlet请求调度抽象 790
32.4.3 请求处理示例 792
32.5 响应生成 795
32.5.1 响应处理抽象 795
32.5.2 响应处理示例 797
32.6 会话管理 801
32.6.1 会话管理抽象 801
32.6.2 会话管理示例 803
32.7 Servlet部署 806
32.7.1 Web应用程序部署描述符的格式 806
32.7.2 Web应用程序部署过程 812
32.7.3 Web应用程序目录结构 813
32.7.4 J2EE引用实现服务器启动和部署 814
32.7.5 BEA WebLogic服务器启动和部署 815
32.8 Servlet配置 815
32.8.1 单独的servlet配置 816
32.8.2 Servlet上下文配置 816
32.8.3 Servlet应用程序配置 817
32.9 Servlet服务管理 819
32.9.1 Servlet线程和激活服务管理 819
32.9.2 EJB和资源命名服务管理 820
32.9.3 Servlet事务服务管理 820
32.9.4 Servlet安全服务管理 821
32.9.5 Servlet可用性服务管理 823
32.10 小结 824
第33章 JavaServer Page 825
33.1 JSP概述 825
33.1.1 JSP体系结构 826
33.1.2 JSP的工作阶段 826
33.1.3 BeeShirts.com JSP示例 827
33.2.1 JSP标准元素与基于XML的元素 830
33.2 JSP语言基础 830
33.2.2 标记 831
33.2.3 注释 831
33.2.4 特殊字符处理 832
33.3 JSP转换指令与编译指令 832
33.3.1 include指令 832
33.3.2 page指令 833
33.3.3 taglib指令 834
33.3.4 指令示例 835
33.4 JSP中的Java脚本编程 836
33.4.1 声明语句 836
33.4.2 表达式 837
33.4.3 scriptlet 838
33.5.1 页面上下文 839
33.5 JSP的Java抽象 839
33.5.2 页面名柄 842
33.5.3 JSP工厂与JSP容器信息 843
33.5.4 定制JSP类 844
33.6 JSP中的标准Java对象 844
33.6.1 隐含对象 844
33.6.2 对象范围 845
33.6.3 JSP对象处理示例 845
33.7 JSP中的标准Java动作 849
33.7.1 jsp:param动作子元素 849
33.7.2 jsp:forward动作 850
33.7.3 jsp:include动作 850
33.7.4 jsp:useBean动作 851
33.7.5 jsp:setProperty动作 852
33.7.7 jsp:plugin动作 854
33.7.6 jsp:getPropery 动作 854
33.7.8 标准动作示例 856
33.8 JSP配置与部署 858
33.8.1 关于JSP部署描述符的考虑 858
33.8.2 JSP配置 859
33.8.3 直接的JSP部署过程 861
33.8.4 预编译JSP部署过程 862
33.9 JSP中的定制Java动作与标记 863
33.9.1 JSP定制标记扩展抽象 863
33.9.2 标记库 864
33.10 小结 867
第34章 企业应用程序平台 868
第7部分 使能企业应用程序 868
34.1 企业平台概述 869
34.2 TP监视程序平台 869
34.3 OTM 871
34.4 通用应用程序框架 872
34.5 基于Java的标准通用应用程序框架 874
34.6 CORBA组件 875
34.7 Microsoft的通用应用程序框架 876
34.8 特定应用程序的平台 878
34.9 企业应用程序管理 879
34.10 小结 879
第35章 应用程序服务器与企业JavaBean 881
35.1 独立的企业应用程序 881
35.2 基于应用程序服务器的企业应用程序 882
35.3 应用程序服务器体系结构供应商的作用 885
35.4 应用程序服务器组件 886
35.5 应用程序服务器客户接口 888
35.6 应用程序服务器的客户实现 890
35.7 企业应用程序的配置与部署 894
35.7.1 服务器的配置与部署示例 894
35.7.2 客户配置与部署示例 895
35.8 应用程序服务管理 896
35.9 小结 898
第36章 利用企业JavaBean进行组件建模 899
36.1 EJB概述 899
36.1.1 EJB体系结构 900
36.1.2 EJB类型 901
36.1.3 EJB异常类型 902
36.1.4 EJB开发过程的考虑与步骤 903
36.1.5 BeeShirts.com EJB应用程序 904
36.2 EJB配置与部署的基础知识 908
36.2.1 EJB部署描述符顶级元素 908
36.2.2 EJB JAR文件 909
36.2.3 EJB部署过程 909
36.2.4 J2EE引用实现服务器的启动与部署 911
36.2.5 BEA WebLogic Server的启动与部署 911
36.2.6 J2EE测试客户的启动 912
36.3 会话Bean服务器组件 913
36.3.1 无状态会话 Bean 913
36.3.2 有状态会话 Bean 917
36.4.1 会话Bean远程接口 923
36.4 会话Bean客户接口 923
36.4.2 会话Bean本地接口 926
36.5 会话Bean的配置与部署 931
36.6 EJB与JDBC 934
36.7 实体 Bean服务器组件 935
36.7.1 暂存实体Bean 936
36.7.2 主键 936
36.7.3 Bean所管理的持续性实体Bean 937
36.7.4 容器管理的持续性实体Beav 945
36.8 实体Bean客户接口 950
36.8.1 实体Bean远程接口 950
36.8.2 实体Bean本地接口 953
36.9 实体Bean的配置与部署 957
36.10 小结 962
第37章 高级企业 JavaBean服务 963
37.1 EJB事务 963
37.1.1 由Bean所管理的事务划分 964
37.1.2 由容器管理的事务划分 967
37.2 EJB安全性 970
37.2.1 标准的EJB安全性编程机制 971
37.2.2 标准声明性EJB安全机制 971
37.2.3 特定供应商访问控制映射方法 973
37.2.4 特定供应商身份与认证 974
37.2.5 扩展BeeShirts.com示例中的数据模型 975
37.2.6 BeeShirts.com安全性 975
37.3 EJB/Web连接 977
37.3.1 BeeShirts.com:一个集成的J2EEWeb和EJB电子商务应用程序 977
37.3.2 Web/EJB连接方法和示例 979
37.4 EJB/CORBA连接 983
37.4.1 EJB作为CORBA客户 983
37.4.2 EJB作为CORBA服务器 983
37.5 EJB与XML 985
37.6 EJB与JMS 987
37.6.1 EJB作为JMS消息产生者 988
37.6.2 EJB作为JMS消费者 988
37.7 EJB与JavaMail 991
37.8 小结 993
第38章 企业应用程序集成 994
38.1 企业应用程序集成概述 994
38.2 利用JNI实现EAI 995
38.3 利用分布式企业通信范型实现EAI 998
38.3.1 利用TCP/IP实现EAI 999
38.3.2 利用Http实现EAI 999
38.3.3 利用CORBA实现EAI 1000
38.3.4 利用RMI实现EAI 1001
38.3.5 利用DCOM实现EAI 1001
38.4 利用消息服务与JMS实现EAI 1002
38.5 利用XML实现EAI 1003
38.6 利用J2EE连接程序实现EAI 1004
38.7 嵌入式应用程序集成 1005
38.8 小结 1007
第8部分 附录 1008
附录A 软件配置 1008
附录B 其他资源 1032