第1章 J2EE 基础 1
1.1 企业体系结构与企业软件开发 1
1.2 Java 技术 4
1.3 J2EE 体系结构 5
1.4 安全 9
1.5 事务管理 11
1.6 命名 12
1.7 应用编程接口 16
1.7.1 API 要求 16
1.7.2 J2SE 要求 16
1.7.3 JDBC 2.0扩展要求 19
1.7.4 EJB 2.0要求 20
1.7.5 Servlet 2.3要求 20
1.7.6 JSP 1.2要求 20
1.8 应用集成和部署 20
1.8.1 应用开发生命周期循环 20
1.8.2 应用集成 21
1.8.3 应用 XML DTD 21
1.9 应用客户 25
第2章 基于组件的开发方法 33
2.1 基于组件的开发 33
2.2.1 组件和接口 35
2.2 基于组件建模的基本概念 35
2.2.2 使用接口 37
2.2.3 组件和接口建模 38
2.2.4 描述模型 39
2.2.5 域建模 48
2.2.6 描述类 53
2.2.7 框架 54
2.3 分类和配置组件 54
2.3.1 类库 54
2.3.2 封装组件 55
3.1 Oracle9i 企业数据库 59
第3章 Oracle9i J2EE 软件产品 59
3.1.1 Oracle 数据库共性 60
3.1.2 Oracle9i 数据库的新特点 64
3.1.3 Oracle9i 数据库的产品功能 65
3.1.4 面向 J2EE 的 Oracle9i 数据库技术 70
3.2 BC4J 72
3.3 Oracle9i 应用服务器 75
3.3.1 HTTP 侦听器层 75
3.3.2 Oracle 应用服务器层 76
3.3.3 应用层 76
3.4 Oracle9i 所需要的 Apache 服务器 78
3.5 建立和注册 Apache Server 79
3.5.2 建立 Apache 80
3.5.1 用户感兴趣的文件 80
3.5.3 使用 OAS 工具注册 Apache Server 81
3.5.4 启动、关闭和配置 Apache Server 82
3.5.5 用 Apache Server 运行 EJB Cartridge 82
3.6 JDeveloper 产品 82
第4章 Oracle9i J2EE 组件容器 87
4.1 J2EE 特性 87
4.2 J2EE 组件—容器体系结构 89
4.2.2 EJB 90
4.2.3 JDBC 90
4.2.1 Servlets 90
4.2.4 JSP 91
4.3 Oracle9i 支持的 J2EE 容器 92
4.3.1 Oracle9i 的体系结构 92
4.3.2 Oracle9iAS 对 J2EE 的支持 93
4.4 基于 Oracle9i 容器的编程开发 95
4.4.1 问题与要求 95
4.4.2 旅馆预定系统的 UML 模型 97
4.4.3 基于 Oracle J2EE 的软件开发流程 98
4.5 J2EE 容器实例说明 100
4.5.1 EJB 组件架构模型概述 101
4.5.3 EJB 开发实例分析 104
4.5.2 EJB 的开发部署 104
4.5.4 创建 J2EE 应用 106
4.5.5 EJB 打包 106
4.5.6 部署 J2EE 应用 107
4.5.7 搭建客户端 108
4.6 Oracle9i J2EE 的发展方案 109
4.7 J2EE 解决方案 110
第5章 Oracle9i 应用服务器 117
5.1 Oracle9i 应用服务器概述 117
5.2 J2EE 和 Internet 应用 120
5.2.1 Oracle9iAS 中的应用开发和部署 120
5.2.2 Oracle9iAS 的 J2EE 容器 122
5.2.3 Oracle9iAS Web 服务 126
5.2.4 Oracle9i XML 开发工具包 126
5.2.5 Oracle9iAS SQL 和 PL/SQL 平台 127
5.2.6 Oracle9i AS Forms Services 128
5.2.7 Oracle9i HTTP 服务器 129
5.3 Portal 开发和部署 130
5.3.1 Oracle9iAS Portal 概述 131
5.3.2 Oracle9iAS Portal 特性 131
5.3.3 Oracle9iAS Portal 体系结构 131
5.3.4 应用访问和集成 132
5.4 无线开发和部署 133
5.5 高速缓存 135
5.5.1 缓存概述 135
5.5.2 Oracle9i Web 缓存概述 135
5.5.3 Oracle9i Web 缓存体系结构 136
5.5.4 Oracle9i Web 缓存特性 136
5.6 商务智能 136
5.6.1 Oracle9iAS 商务智能概述 137
5.6.2 Oracle9iAS 点击流智能概述 137
5.6.3 Oracle9iAS 个性化概述 138
5.6.4 Oracle9iAS 报表服务概述 139
5.6.5 Oracle9iAS Discover 概述 140
5.7 Oracle9iAS 集成 142
5.7.1 Oracle9iAS 集成 142
5.7.2 Oracle9iAS InterConnect 143
第6章 Oracle BC4J 145
6.1 概述 145
6.2 Oracle BC4J 概述 146
6.3 Oracle 商业组件为应用开发人员提供的功能 147
6.3.1 商业逻辑代码编辑 147
6.3.2 使用可更新、基于 SQL 的视图 150
6.3.3 协调多个数据视图 151
6.3.4 使用 JSP 和基于 Swing 的客户 152
6.3.5 域 Oracle JDeveloper 集成 154
6.3.6 使用服务体系结构 156
6.3.7 使用三层逻辑结构 157
第7章 Oracle JDBC 159
7.1 概述 159
7.2 使用 Oracle JDBC 165
7.2.1 JDBC 中的 Java 流 167
7.2.2 在 JDBC 中调用存储过程 171
7.3 JDBC 2.0概述 172
7.3.1 概述 172
7.2.3 处理 SQL 异常 172
7.3.2 JDBC 2.0支持 JDK 1.1.x 和 JDK 1.2.x 173
7.3.3 JDBC 2.0特性 173
7.4 Oracle 对 JDBC 标准的扩展 173
7.4.1 Oracle 扩展概述 174
7.4.2 Oracle 扩展的支持特性 174
7.4.3 Oracle JDBC 包和类 174
7.4.4 Oracle 支持的字符类型 179
7.5 访问和操纵 Oracle 数据 180
7.5.1 数据转换 180
7.5.2 结果集和语句扩展 180
7.5.3 Oracle get 和 set 方法与标准 JDBC 的比较 181
7.5.4 使用结果集元数据扩展 185
7.6 操作 Oracle 对象类型 186
7.6.1 映射 Oracle 对象 186
7.6.2 对 Oracle 对象使用默认 STRUCT 类 186
7.6.3 为 Oracle 对象创建和使用自定义对象类 186
7.6.4 对象类型继承 187
7.6.5 描述对象类型 195
7.6.6 SQLJ 对象类型 196
第8章 Oracle9i Java 应用安全 201
8.1 网络连接安全 201
8.2 数据库内容和 JVM 安全 201
8.2.1 Java2安全 202
8.2.2 设置授权 203
8.2.3 调试授权 211
8.2.4 装载类的授权 211
第9章 Oracle JSP 开发 213
9.1 JSP 概述 213
9.1.1 JSP 例子 213
9.1.2 执行 JSP 214
9.1.3 JSP 语法元素 215
9.2 Oracle JSP 218
9.2.2 Oracle 环境对 Oracle JSP 的支持 219
9.2.3 非 Oracle 环境对 Oracle JSP 的支持 219
9.2.1 Servlet 环境提供的灵活性和功能 219
9.2.4 Oracle JSP 编程扩展概述 220
9.2.5 Oracle JSP 执行模型 220
9.2.6 Oracle Jdeveloper 对 Oracle JSP 的支持 221
9.3 Oracle JSP 应用 221
9.3.1 应用 Root 和 DOC Root 功能 221
9.3.2 JSP 应用和会话概述 222
9.3.3 JSP-Servlet 交互 222
9.3.4 JSP 资源管理 224
9.3.5 JSP 运行错误处理 227
9.3.6 数据访问 JSP Starter 示例 227
9.4.1 Oracle JSP 编程扩展 229
9.4 Oracle JSP 扩展 229
9.4.2 对 Oracle 的编程扩展 239
9.4.3 支持 Servlet 2.0的 Oracle JSP 应用和会话 240
9.5 JSP 转换和配置 244
9.5.1 Oracle JSP 翻译器的功能 244
9.5.2 Oracle9i 中的特性和逻辑 247
9.6 JSP 标签库和 Oracle JML 标签 248
9.6.1 标准标签库框架 248
9.6.2 JSP 标记语言示例标签 249
第10章 JServlet 257
10.1.1 JServlet 术语 258
10.1 概述 258
10.1.2 为 JServlet 插件开发 Servlets 259
10.1.3 Java 支持的版本 260
10.2 创建一个 JServlet 应用程序 260
10.2.1 创建 Java 类文件 260
10.2.2 创建一个 JServlet 应用程序和插件 262
10.2.3 重新登录 Oracle 应用程序服务器 263
10.2.4 调用 JServlet 插件 264
10.3 开发 JServlet 264
10.3.1 初始化 264
10.3.2 访问 HTTP 请求信息 265
10.3.3 生成 HTTP 应答信息 266
10.3.4 调用 JServlet 插件 269
10.3.5 清除 JServlet 实例 270
10.3.6 控制 JServlet 执行 271
10.3.7 保留关键字 273
10.4 高级 JServlet 编程 273
10.4.1 使用 Sessions 274
10.4.2 在插件间交换服务 283
10.4.3 Servlet 并行化 289
10.4.4 生成子线程 290
10.5.1 使用 JDBC Drivers 292
10.5 数据库接口 292
10.5.2 JDBC 示例 293
10.5.3 使用 Transaction Service 295
10.6 调用组件 299
10.6.1 调用 ECO/Java 对象 299
10.6.2 调用 Enterprise JavaBeans 301
第11章 Java 存储过程 303
11.1 概述 303
11.1.1 Java 和 RDBMS 303
11.1.3 Oracle JVM 和它的组件 304
11.1.2 存储过程和运行上下文 304
11.1.4 Java 存储过程配置 305
11.1.5 开发存储过程概述 306
11.2 装载 Java 类 306
11.3 发布 Java 类 307
11.4 调用存储过程 309
11.5 开发应用 315
第12章 Java EJB 分布式计算 327
12.1 EJB 概述 327
12.2 EJB 入门 328
12.2.1 EJB 组件模型 328
12.2.2 Oracle 应用服务器提供的 EJB 特征 329
12.2.3 客户对 EJB 的认识 330
12.2.5 EJB 调用 PL/SQL 331
12.2.6 EJB 开发流程图 331
12.2.4 EJB 工具和开发进程 331
12.3 创建 EJB 332
12.3.1 创建会话 Bean 332
12.3.2 客户接口 333
12.3.3 创建一个 Session Bean 类 334
12.3.4 远程调用 Session Bean 337
12.3.5 Stateful Session Bean 和 Stateless Session Bean 338
12.3.6 通过值限制的对象 339
12.4.1 开发描述子 340
12.4 创建开发包文件 340
12.4.2 载货单文件 346
12.4.3 创建 JAR 文件 347
12.4.4 开发用户 EJB 应用程序 348
12.4.5 重新开发和装载应用程序 348
12.4.6 提高性能 349
12.4.7 调试 EJB 应用程序 350
12.5 开发 ECO/Java 应用程序的客户 351
12.5.1 开发概述 351
12.5.2 获得 Bean 的对象参数 352
12.5.3 在对象上调用方法 354
12.5.5 Applet 标记 355
12.6 EJB 对象中的事务 355
12.5.4 回收对象 355
12.6.1 概述 356
12.6.2 声明事务 356
12.6.3 编程事务 361
12.6.4 事务和线程 362
12.6.5 Stateful 对象和 Stateless 对象的事务 362
13.1 SQLJ 概述 367
13.1.1 SQLJ 简介 367
第13章 Oracle SQLJ 开发 367
13.1.2 SQLJ 组件 368
13.1.3 基本翻译步骤和运行处理 368
13.1.4 使用 Oracle SQLJ 的要求 369
13.1.5 测试 SQLJ 安装 369
13.2 基本语言特性 371
13.2.1 SQLJ 声明概述 371
13.2.2 SQLJ 执行语句概述 372
13.2.3 Java 本地表达式、上下文表达式 374
13.2.4 单行查询结果——SELECT INTO 语句 375
13.2.5 多行查询结果——SQLJ Iterator 375
13.2.7 存储过程和函数调用 376
13.3 支持类型 376
13.2.6 赋值语句 376
13.3.1 本地表达式支持的类型 377
13.3.2 对流的支持 380
13.3.3 对 JDBC 2.0 LOB 类型和 Oracle 类型扩展的支持 380
13.4 对象和集合 382
13.4.1 自定义 Java 类 382
13.4.2 用户定义类型 382
第14章 Oracle9i J2EE 开发使用技巧 387
14.1 功能强大的 List-Partitioning 388
14.2 闪回式查询及返回和恢复 390
14.3 使用 JDeveloper 开发 J2EE 应用 393
14.3.1 Java 的多线程编程 394
14.3.2 JSP/Servlet 中的汉字编码问题 401
14.3.3 JSP 调用 Servlet 显示图片 404
14.3.4 在 Java 应用程序中如何实现 FTP 的功能 406
14.3.5 实用 EJB 开发技巧 408
14.3.6 创建基于组件的 JSP 应用程序 413
14.3.7 创建 BC4J 的商业逻辑 416
14.3.8 创建商业组件 416
14.4 通过 Delphj 实现 Java 调用 Oracle 数据库数据 418
15.1 XML 概述 423
第15章 Oracle XML 开发 423
15.2 Oracle XDK 432
15.2.1 Oracle XML 组件 432
15.2.2 开发工具 433
15.2.3 XML 编译器 433
15.2.4 XSL 转换处理器 434
15.2.5 XML 类生成器 434
15.2.6 XML TransViewer JavaBean 434
15.2.7 Oracle XSQL 页处理器和 Servlet 435
15.2.8 Oracle XML SQL 工具 436
15.2.10 使用 Oracle 组件生成 XML 文档:Java 437
15.2.9 Oracle 文本 437
15.2.11 使用 Oracle 组件生成 XML 文档:C 438
15.2.12 使用 Oracle 组件生成 XML 文档:C++ 438
15.2.13 使用 Oracle 组件生成 XML 文档:PL/SQL 439
15.3 Oracle XML 应用建模 440
15.3.1 XML 数据存储 441
15.3.2 生成 XML 441
15.3.3 合成 XML 441
15.3.4 使用混合 XML 存储方法 441
15.3.5 转换生成的 XML 442
15.3.6 数据交互应用的设计问题考虑 443
15.3.7 在应用之间发送 XML 文档 444
15.3.8 装载 XML 到数据库中 445
15.3.9 内容和文档管理 446
15.4 XML SQL 工具 448
15.4.1 XML SQL 工具(XSU)概述 449
15.4.2 XSU 组件和安装 450
15.4.3 XML SOL 工具 450
15.4.4 SQL-to-XML 和 XML-to-SQL 映射基础 451
15.4.5 XML SQL 工具的工作原理 452
15.4.6 XSU Java API 453
15.4.7 使用 XSU OracleXMLQuery 生成 XML 453
15.5.1 Oracle AQ 简介 465
15.5 使用 Oracle AQ 交换 XML 数据 465
15.5.2 AQ 和 XML 的相互作用 466
15.6 Intemet 数据访问描述(IDAP) 467
15.6.1 XML 和 IDAP 的接口 467
15.6.2 IDAP 结构体系 468
15.6.3 IDAP 消息结构 469
15.6.4 IDAP 方法调用主体:IDAP 装载 470
15.7 IDAP 客户请求 470
15.7.1 入队的 IDAP 客户请求 472
15.7.2 IDAP 客户出队请求 473
15.8 IDAP 服务器响应 474
15.8.1 IDAP 服务器入队响应 474
15.7.3 IDAP 客户注册请求 474
15.8.2 IDAP 服务器出队响应 475
15.8.3 IDAP 服务器注册响应 476
15.9 使用 HTTP 访问 AQ Servlet 476
15.9.1 AQ 客户如何使用 HTTP 发送请求到 AQ Servlet 476
15.9.2 AQ Servlet 如何使用 HTTP 处理请求 478
15.10 XMLType 队列 479
15.10.1 使用 AQ 排序和查找 XML 文档 479
15.10.2 使用对象类型结构化和管理消息装载 479
15.10.4 XMLType 队列示例 480
15.11 AQXML 消息格式转换 480
15.10.3 创建包含 XMLType 属性的消息装载队列 480
第16章 Oracle LDAP 483
16.1 LDAP 的历史 483
16.2 LDAP 模型概述 483
16.2.1 LDAP 命名模型 484
16.2.2 LDAP 信息模型 484
16.2.3 LDAP 功能模型 485
16.2.4 LDAP 安全模型 485
16.3 Oracle Internet 目录 API 485
16.4 终止 LDAP 会话 487
16.5 Oracle Internet 目录 C API 487
16.6 Oracle Intemet 目录 PL/SOL API 501