第Ⅰ部分 J2EE 1.4与企业Web服务导论 1
第1章 J2EE概述 1
1.1 在J2EE中以“企业”作为目标 1
1.1.1 定义“企业” 2
1.1.2 企业应用开发的考验与困难 4
1.2 J2EE如何解决企业开发中的难点 9
1.2.1 简单而统一的基于组件的结构 9
1.2.2 内建的可伸缩性与安全性支持 13
1.2.3 提供稳定和可靠的基础 13
1.2.4 与企业信息系统和遗留系统的集成 14
1.2.5 Web服务的内建支持 16
1.2.6 独立于厂家和平台的可移植应用 18
1.3 小结 20
第2章 J2EE 1.4的结构、术语和特性 22
2.1 J2EE的分布式多层应用模型 22
2.2.1 客户 25
2.2 客户、组件、模块、容器和服务 25
2.2.2 组件与模块 31
2.2.3 容器与服务 42
2.3 平台角色 45
2.4 J2EE 1.4中的新特性 46
2.5 小结 47
第3章 平台服务与Web服务 49
3.1 平台服务 49
3.1.2 使用JTA和JTS的事务服务 50
3.1.1 使用HTTP和HTTPS的网络服务 50
3.1.3 使用RMI-IIOP和Java IDL的CORBA服务 52
3.1.4 使用JDBC API的数据库服务 53
3.1.5 使用JMS的消息传递服务 53
3.1.6 使用JNDI的命名服务和目录服务 54
3.1.7 使用JavaMail和JAF的邮件服务 55
3.1.8 使用JAAS和JACC的安全服务 56
3.1.9 使用JAXP的XML解析服务 57
3.1.10 使用Java API for XML的Web服务 58
3.1.11 使用J2EE Connector结构的EIS连接服务 64
3.1.12 部署服务与管理服务 66
3.2 平台应用程序编程接口(API) 67
3.2.1 J2SE要求的API 67
3.2.2 J2SE可选用的API 68
3.3 小结 69
第4章 实例分析与示例场景 70
4.1 Java Pet Store和Java Smart Ticket 70
4.1.1 Java Pet Store示例应用 71
4.1.2 Java Smart Ticket示例应用 74
4.2 Web3D Web 76
4.3 网格计算、在线购物和搜索服务 78
4.4 小结 79
第Ⅱ部分 使用servlet、JSP和bean实现从客户到服务器的通信 80
第5章 使用Java servlet扩展与增强Web服务器 80
5.1 Java servlet技术集成到J2EE中的方式 81
5.1.1 servlet支持J2EE Web层 81
5.1.2 servlet同流行的Web服务器扩展技术之间的对比 83
5.1.3 Web组件、Web应用和Web容器 85
5.1.4 servlet生命周期 89
5.2 剖析servlet的主要特性 92
5.2.1 使用请求对象和响应对象来访问和应答客户请求 94
5.2.2 使用过滤器来处理和转换请求和响应 99
5.2.3 使用cookie来跟踪和管理用户会话 100
5.3 小结 101
第6章 使用JSP创建动态Web页面 102
6.1 分析JSP技术是如何集成到J2EE中的 102
6.1.1 JSP提供MVC结构中的视图 107
6.1.2 JSP生命周期 109
6.2 剖析JSP的主要特性 111
6.2.1 使用JSP元素来创建动态内容 115
6.2.2 Web3D Web Media Submission应用示例 119
6.3 使用指令同容器进行通信 124
6.3.1 使用page指令配置页面 125
6.3.2 通过taglib指令来利用定制标记 126
6.4 使用动作和定义脚本变量 128
6.3.3 使用include指令来创建复合页面 128
6.5 使用脚本激活页面 131
6.6 JSP和XML 134
6.7 小结 135
第7章 使用EJB构建服务器方业务组件 136
7.1 分析EJB技术是如何集成到J2EE中的 136
7.1.1 可重用分布式业务组件 136
7.1.2 可移植的和可互操作的业务组件 138
7.1.3 业务层的Web服务 140
7.2 bean类型:会话bean、实体bean和消息驱动bean 140
7.2.1 会话bean 141
7.2.2 实体bean 147
7.2.3 消息驱动bean 148
7.3 通过接口定义入口 150
7.3.1 使用home接口来访问bean的组件接口 151
7.3.2 定义本地客户视图、远程客户视图和Web服务客户视图 152
7.4 为Points Calculator bean示例创建客户 161
7.4.1 使用JNDI访问home接口 162
7.4.2 使用JSP对Web客户进行编码 164
7.4.3 对Java应用客户进行编码 168
7.5 打包和部署EJB 170
7.6 小结 173
第8章 深入分析事务并略谈数据库 174
8.1 深入分析事务 174
8.1.1 原子的、一致的、隔离的和持久的(ACID)事务 175
8.1.2 容器管理的事务 178
8.1.3 bean管理的事务 185
8.2 使用实体bean来访问数据库 186
8.2.1 使用主键来惟一确定实体 189
8.2.2 通过home接口来使用finder方法定位实体 192
8.2.3 容器管理的持久性 195
8.2.4 bean管理的持久性 198
8.3 小结 199
第9章 使用JAXP处理XML 200
9.1 分析XML和JAXP是怎样集成到J2EE结构的 200
第Ⅲ部分 使用XML创建Web服务 200
9.2 使用JAXP处理、转换和样式化XML文档 203
9.2.1 使用SAX和DOM解析XML文档 204
9.2.2 使用XSLT转换和样式化XML文档 233
9.3 小结 239
第10章 用JAX-RPC创建Web服务端点和客户 241
10.1 分析JAX-RPC是如何集成到J2EE的 241
10.1.1 最小平台要求 242
10.1.2 JAX-RPC API 243
10.1.3 理解术语“Web服务” 244
10.2 实现Web服务端点和客户 246
10.2.1 JAX-RPC支持的数据类型 246
10.2.2 用JAX-RPC实现Web服务端点 247
10.2.3 产生stub、tie和WSDL描述 253
10.2.4 打包和部署服务 257
10.2.5 用JAX-RPC实现Web服务客户 260
10.3 小结 267
第11章 用SAAJ发送和接收XML消息 268
11.1 分析SAAJ是如何集成到J2EE的 269
11.2 SAAJ概述 270
11.2.1 SOAP消息结构 270
11.2.2 通过SOAP连接发送消息 275
11.3 使用SAAJ创建、发送和处理SOAP消息 276
11.3.1 创建和发送SOAP消息 278
11.3.2 处理SOAP消息 287
11.4 小结 289
12.1 分析JAXR是如何集成到J2EE的 290
第12章 用JAXR访问XML注册库 290
12.1.1 注册库提供者、JAXR提供者和JAXR客户 291
12.1.2 JAXR 1.0 API包 292
12.2 创建、打包和部署JAXR客户 294
12.2.1 实现JAXR客户 295
12.2.2 打包和部署JAXR客户 307
12.3 小结 309
附录 J2EE 1.4精华资源 310