目录 1
第1章 初识J2EE 1
1.1 关于Sun和Java 1
1.1.1 Java概述 2
1.1.2 Java 2的几个版本 3
1.1.3 Sun公司开发的基础架构 6
1.1.4 Sun公司的开发策略 7
1.2 J2EE的基本知识——平台规范 9
1.3 J2EE的基本特点 10
1.4 安全性 13
1.5 授权与验证 13
1.6 容器、服务和J2EE事务管理模型 14
1.5.2 J2EE验证模型 14
1.5.1 J2EE授权模型 14
1.6.1 容器和服务 15
1.6.2 J2EE事务管理模型 15
1.7 小结 16
1.8 上机练习 16
1.9 习题 16
第2章 J2EE 1.4的新特点 17
2.1 XML_RPC的基本概念 17
2.2 SAAJ 20
2.3 Web Services for J2EE 21
2.4 JMX 22
2.5 JAXR 23
2.7 EJB 2.1 25
2.6 在J2EE上部署Web服务 25
2.8 JSP 2.0 27
2.8.1 JSP设置的变化 27
2.8.2 SimpleTag实现简单标记接口 28
2.8.3 表达式语言 29
2.8.4 JSP fragment 30
2.9 IDBC 3.0 30
2.9.1 检索自动产生的关键字 31
2.9.2 数据库连接池 31
2.9.3 使用Savepoint 33
2.9.4 返回多重结果 34
2.10.1 Request Dispatcher的变化 36
2.10 Servlet 2.4的新特点 36
2.10.2 Servlet Request监听器 37
2.10.3 部署描述文件 37
2.11 小结 38
2.12 上机练习 38
2.13 习题 39
第3章 J2EE应用场景及模型 40
3.1 网上商店 40
3.1.1 系统结构与功能 40
3.1.2 宠物商店结构 41
3.1.3 宠物商店模块设计 42
3.1.4 宠物商店的组件 42
3.1.5 分析宠物商店的应用 43
3.2 网格计算 44
3.2.2 构建在J2EE之上的网格计算解决方案 45
3.2.3 网格的应用 45
3.2.1 网格计算的商业价值 45
3.3 B-C电子商务模拟系统 46
3.3.1 系统概述 46
3.3.2 模型设计 47
3.3.3 构件模型 48
3.3.4 系统中数据表示与交互 59
3.3.5 系统模型整体分析 59
3.3.6 模型小结 60
3.5 上机练习 61
3.6 习题 61
3.4 小结 61
第4章 J2EE的体系结构 62
4.1 J2EE的模型-视图-控制(MVC)体系结构 62
4.1.1 模型-视图-控制(MVC)体系结构介绍 62
4.1.2 MVC的分层结构 64
4.1.3 模型(Model)层 66
4.1.4 视图(View)层 67
4.1.5 控制层(Controller) 69
4.1.6 MVC体系结构实例 71
4.2 J2EE分层结构 72
4.3 客户端 74
4.3.1 Web客户端 74
4.3.2 Applet 75
4.3.3 Web客户端与Applet进行比较 76
4.4 J2EE服务器 78
4.4.1 容器 79
4.4.2 EJB容器 81
4.4.3 Web容器 81
4.4.4 EJB容器与Web容器的比较 82
4.5 数据库 82
4.5.1 JDBC概述 83
4.5.2 JDBC实例 84
4.6 小结 87
4.7 上机练习 87
4.8 习题 87
5.1 J2EE设计模式概述 88
第5章 J2EE设计模式 88
5.1.1 设计模式 89
5.1.2 J2EE设计模式 90
5.1.3 分层方法 92
5.1.4 层间关系 94
5.1.5 J2EE模式总览 97
5.2 表示层设计模式 98
5.2.1 表示层设计模式相关 98
5.2.2 前端控制器(Front Controller) 99
5.2.3 截取过滤器(Intercepting Filter) 101
5.2.4 视图助手(View Helper) 103
5.3 事务层设计模式 105
5.3.1 值对象(Value Object) 106
5.3.2 会话外观(Session Facade)设计模式 108
5.4 集成层设计模式 110
5.5 小结 111
5.6 上机练习 111
5.7 习题 111
第6章 XML技术 112
6.1 XML基本特征 112
6.2 XML的基本结构 113
6.2.1 从一个简单的XML文档开始 114
6.2.2 XML标记的意义 115
6.2.3 XML文件的整体结构 115
6.2.4 处理指示 116
6.3 XML文件的内容元素 116
6.4 标记 117
6.4.1 CDATA 118
6.4.2 注释 119
6.4.3 形式良好的XML 120
6.5 XML与DTD 120
6.5.1 XML的格式问题 121
6.5.2 DTD中的内容 121
6.5.3 DTD语法快速指南 122
6.5.4 工作示例 123
6.5.5 关于XML的几点说明 124
6.5.6 关于DTD的几点说明 126
6.6 XML Schema 126
6.6.3 Schema的文件结构 127
6.6.1 Schema的主要特点 127
6.6.2 Schema的应用领域 127
6.7 XML在电子商务中的应用 128
6.7.1 XML加速电子商务的发展 128
6.7.2 XML与EDI 129
6.7.3 对称的EDI 130
6.7.4 XML为IT业带来新的商机 130
6.7.5 应用于无线通信——WML 131
6.7.6 其他应用 131
6.8 小结 132
6.9 上机练习 132
6.10 习题 133
7.1 命名和目录服务概述 134
第7章 命名和目录服务JNDI 134
7.2 命名服务 135
7.2.1 名字 135
7.2.2 绑定与引用 135
7.2.3 上下文 136
7.2.4 命名系统和命名空间 136
7.2.5 命名例子 136
7.2.6 命名操作 138
7.3 目录服务 147
7.3.1 属性(Attributes) 147
7.3.2 目录(Directory) 147
7.3.4 活动目录(Active Directory) 148
7.3.5 目录例子 148
7.3.3 目录服务(Directory Service) 148
7.4 使用JNDI实现多层命名体系结构 151
7.4.1 LDAP目录系统和多层命名空间模型 152
7.4.2 JNDI体系结构和相关概念 153
7.4.3 多层命名空间系统的实现模型 154
7.4.4 模型小结 157
7.5 JNDI查找的优化 157
7.5.1 减少上下文实例 158
7.5.2 优化查找 159
7.5.3 EJBHomeFactory类内幕 160
7.6 通过JNDI使用数据源 161
7.9 习题 164
7.7 小结 164
7.8 上机练习 164
第8章 J2EE的构件模型 165
8.1 构件概述 165
8.2 客户端构件模型 167
8.2.1 J2EE客户端 168
8.2.2 Stand Alone Client 168
8.2.3 J2EE Application Client 169
8.2.4 客户端访问EJB 171
8.3 JavaBean构件模型 171
8.3.1 JavaBean的关键概念 172
8.3.2 编写一个简单的JavaBean 172
8.3.4 JSP与JavaBean 174
8.3.3 非可视化JavaBean 174
8.4 Enterprise JavaBean模型 176
8.4.1 EJB模型的特点 176
8.4.2 EJB容器 178
8.4.3 EJB容器功能 179
8.4.4 EJB服务器 180
8.4.5 EJB服务器的服务 181
8.4.6 EJB构件分类 182
8.4.7 EJB构件应用 187
8.4.8 EJB接口 189
8.4.9 EJB开发流程 190
8.6 上机练习 193
8.7 习题 193
8.5 小结 193
第9章 JSP技术 194
9.1 JSP概述 194
9.1.1 JSP的运行机制 194
9.1.2 JSP的运行环境 195
9.1.3 JSP的生命周期 195
9.1.4 JSP开发的几种典型方式 195
9.2 JSP网络应用服务框架 197
9.2.1 JSP的客户端交互 197
9.2.2 交互过程的流程 199
9.2.3 JSP引擎的工作原理 199
9.2.4 对请求信息的处理 200
9.3 JSP基本语法 202
9.4 预定义变量 203
9.5 JSP脚本要素 204
9.5.2 JSP scriptlets 205
9.5.1 JSP表达式 205
9.5.3 JSP声明 206
9.6 JSP指令 207
9.6.1 JSP page指令 207
9.6.2 JSP include指令 208
9.7 行为 209
9.7.1 jsp:include行为 209
9.7.2 jsp:useBean行为 210
9.7.3 更多关于jsp:useBean的细节 211
9.7.4 jsp:setProperty行为 212
9.7.5 jsp:getProperty行为 212
9.8.1 JDBC介绍 213
9.7.6 jsp:forward行为 213
9.8 用JSP访问数据库 213
9.8.2 数据库连接 214
9.8.3 建立数据连接具体步骤 215
9.8.4 数据库查询以及结果显示 216
9.9 JSP与XML 217
9.9.1 直接使用XML 217
9.9.2 使用JavaBeans 218
9.9.3 通过标记库JSP与XML交互 219
9.10 小结 220
9.11 上机练习 220
9.12 习题 221
10.1.1 使用Servlet的原因 222
第10章 Servlet技术 222
10.1 Servlet概述 222
10.1.2 Servlet的基本运行机制 223
10.2 Servlet开发工具 223
10.3 创建第一个Servlet 225
10.3.1 Servlet基本结构 225
10.3.2 输出纯文本的简单Servlet 226
10.3.3 Servlet的编译和安装 227
10.3.4 运行Servlet 228
10.4 Servlet的表单处理 228
10.4.1 表单数据概述 228
10.4.2 实例:读取3个表单变量 229
10.5 HTTP请求头概述 231
10.5.1 常见的HTTP请求头 232
10.5.2 在Servlet中读取请求头 233
10.6 CGI变量处理 234
10.6.1 CGI变量概述 234
10.6.2 标准CGI变量的Servlet等价表示 234
10.7 状态代码处理 238
10.7.1 状态代码概述 238
10.7.2 设置状态代码 238
10.7.3 HTTP 1.1状态代码及其含义 239
10.8 系统配置和Servlet运行实例 242
10.8.1 实例1 242
10.8.2 实例2 243
10.10 上机练习 247
10.9 小结 247
10.11 习题 248
第11章 EJB技术 249
11.1 Bean的类型及相互关系 249
11.2 实体Bean 250
11.2.1 实体Bean的基本组件 250
11.2.2 find方法、create方法和remove方法 251
11.2.3 主键 256
11.3 会话Bean 257
11.3.1 创建一个会话Bean 258
11.3.2 调用一个会话Bean 260
11.3.3 删除一个会话Bean 261
11.3.4 无状态会话Bean的状态管理 261
11.3.6 钝化与活化 262
11.3.5 会话Bean的交换 262
11.3.7 会话Bean代码分析 263
11.3.8 调用会话Bean实例 267
11.4 消息驱动Bean 269
11.4.1 消息驱动Bean的作用 270
11.4.2 消息驱动Bean的实现 270
11.4.3 MessageDrivenBean接口 271
11.4.4 消息驱动Bean的特点 271
11.5 小结 272
11.6 上机练习 273
11.7 习题 273
12.1 概述 274
第12章 J2EE企业应用程序的体系结构 274
12.2 客户机模型 275
12.2.1 Web服务客户机视图 275
12.2.2 客户机编程模型 275
12.2.3 打包 277
12.3 服务器编程模型 278
12.3.1 服务器视图 278
12.3.2 端口组件模型规范 279
12.3.3 打包 280
12.4 处理程序 281
12.4.1 概念 281
12.4.2 处理程序生命周期 281
12.4.3 安全性 282
12.4.4 事务 283
12.4.5 开发者的职责 283
12.5 部署描述符 283
12.5.1 Web服务部署描述符 283
12.5.2 Web服务客户机部署描述符 285
12.5.3 JAX-RPC映射部署描述符 287
12.6 部署 288
12.6.1 概述 288
12.6.2 容器提供者的要求 290
12.6.3 部署者的职责 292
12.7 安全性 292
12.7.1 概念 292
12.7.2 目标 294
12.8 小结 295
12.7.3 规范 295
12.9 上机练习 296
12.10 习题 296
第13章 J2EE的核心API 297
13.1 J2EE核心API包 297
13.1.1 javax下的子包简介 298
13.1.2 ejb包的说明和使用 299
13.1.3 enterprise包的说明和使用 300
13.1.4 mail包的说明和使用 300
13.1.5 management包的说明和使用 300
13.1.7 servlet包的说明和使用 301
13.1.6 resource包的说明和使用 301
13.1.8 transaction包的说明和使用 302
13.1.9 xml包的说明和使用 303
13.2 EJB(Enterprise JavaBean) 304
13.3 JNDI(Java Name and Directory Interface) 306
13.4 RMI(Remote Method Invoke) 308
13.5 JDBC(Java Database Connectivity) 309
13.6 JSP(Java Server Page) 310
13.7 Java IDL/CORBA 312
13.8 Java Servlet 313
13.9 XML(Extensible Markup Language) 315
13.10 JMS(Java Message Service) 318
13.11 JavaMail 320
13.13 上机练习 322
13.14 习题 322
13.12 小结 322
第14章 事务和安全 323
14.1 事务 323
14.1.1 事务产生的动机 323
14.1.2 事务应用 325
14.1.3 事务服务提供的功能 325
14.1.4 分布式事务 327
14.2 J2EE中的事务服务 327
14.2.1 JTA和JTS简介 327
14.2.2 J2EE事务服务的层次关系 328
14.2.4 Java Transaction API 329
14.2.3 JTS中规定的事务管理器的实现 329
14.3 安全 332
14.3.1 J2EE中的安全概念 332
14.3.2 J2EE的安全体系结构 333
14.3.3 用户的验证 335
14.3.4 J2EE的授权模型 337
14.4 安全部署的例子 339
14.4.1 采用HTTP基本验证的例子 339
14.4.2 配置基于表单的验证 341
14.4.3 EJB方法授权的例子 341
14.4.4 可编程安全性和传播调用者身份标识的例子 346
14.6 上机练习 352
14.7 习题 352
14.5 小结 352
第1 5章 J2EE Connector体系结构 353
15.1 企业应用程序融合 353
15.1.1 企业应用程序融合概述 353
15.1.2 Web驱动应用程序融合 354
15.1.3 企业信息系统 355
15.1.4 企业应用程序融合的方法 356
15.1.5 J2EE连接器体系结构和EAI 358
15.2 JCA概述 359
15.2.1 连接器体系结构协议 359
15.2.2 使用JCA的原因 360
15.2.3 一个JCA的例子 360
15.3 JCA编程模型 361
15.3.1 连接管理编程模型 362
15.3.2 事务管理编程模型 364
15.3.3 安全管理编程模型 373
15.4 小结 376
15.5 上机练习 376
15.6 习题 376
第16章 JMS体系结构 377
16.1 JMS基本概念 377
16.1.1 消息的基本概念与组成 377
16.1.2 什么是消息系统 378
16.1.3 消息系统的类型 379
16.1.4 MOM中消息的组成部分介绍 380
16.1.6 JMS应用程序的组成 384
16.1.5 JMS概述 384
16.1.7 JMS的主要接口 385
16.2 JMS编程模型 387
16.2.1 包与接口 387
16.2.2 P2P消息发送端 389
16.2.3 P2P消息接收端 391
16.2.4 P/S客户端程序 392
16.3 在J2EE中使用JMS应用程序 393
16.3.1 JMS与消息传递 393
16.3.2 配置JMS 394
16.3.3 供应商如何应用JMS 395
16.5 上机练习 396
16.6 习题 396
16.4 小结 396
第17章 使用JAX-RPC建立Web服务 397
17.1 JAX-RPC介绍 397
17.1.1 Web服务会话状态的保持方法 397
17.1.2 JAX-RPC的概念 401
17.1.3 JAX-RPC的服务端点 402
17.1.4 JAX-RPC服务端点的生命周期 403
17.1.5 服务端开发 406
17.2 JAX-RPC开发实例 409
17.2.1 简单的Web开发实例 409
17.2.2 完整的Web开发实例 411
17.3 小结 422
17.4 上机练习 422
17.5 习题 422