标题：J2EE应用开发详解
内容简介
《J2EE应用开发详解》根据Java EE架构分为5个部分：第1部分为Java EE相关技术概述，包括Java Web应用开发简介，利用Eclipse和Tomcat建立开发平台、事件及反射机制，以及Servlet技术；第2部分为表示层相关技术，包括JSP技术、XML、CSS和XSLT、Ajax技术、Struts2框架和JSF；第3部分为业务层相关技术，包括JavaBean的基本概念、EJB、RMI、Web服务概述、CORBA简介和Spring框架；第4部分为数据持久化层的相关技术，包括数据库和JDBC技术、ORM和JPA概述，以及Hibernate的介绍；第5部分介绍两个整合了《J2EE应用开发详解》相关技术的系统实例，分别是应用了Struts+Spring+Hibernate+Ajax框架的权限管理系统和应用了JSF/Richfaces+EJB+JPA框架的航空订票系统。
目录
第1章 Java Web应用开发简介 1
1.1 Java EE应用概述 1
1.2 Java EE概念 1
1.2.1 Java EE多层模型 1
1.2.2 Java EE体系结构 2
1.3 Java EE的核心API与组件 4
1.4 Web服务器和应用服务器 13
1.5 小结 16
第2章 建立开发平台 17
2.1 构建开发环境 17
2.1.1 安装JDK 17
2.1.2 安装Tomcat 21
2.1.3 安装Eclipse 23
2.2 配置开发环境 23
2.3 小结 26
第3章 Java的反射机制 27
3.1 Java反射API 27
3.2 加载类的实例 29
3.2.1 加载class对象的两种方式 29
3.2.2 Class.forName()加载类的实例 30
3.2.3 loadClass获得类的实例 31
3.3 操作类的字段 31
3.3.1 获取对象的属性 31
3.4 操作类的方法 34
3.4.1 运行时调用对象的方法 34
3.4.2 无参构造函数 36
3.4.3 带参构造函数 37
3.5 动态代理 39
3.6 反射机制在Hibernate中的应用 42
3.7 小结 46
第4章 Servlet技术 47
4.1 Servlet简介 47
4.1.1 Servlet的特点 47
4.1.2 Servlet的优势 48
4.1.3 Servlet的工作过程 49
4.1.4 Servlet的生命周期 50
4.2 开发和部署一个简单的Servlet 51
4.3 Servlet常用API介绍 53
4.3.1 Servlet实现相关 54
4.3.2 Servlet配置相关 54
4.3.3 Servlet异常相关 55
4.3.4 请求和响应相关 55
4.3.5 会话跟踪 56
4.3.6 Servlet上下文 57
4.3.7 Servlet协作 57
4.3.8 Filter 58
4.4 使用Servlet处理客户端请求 58
4.5 会话跟踪 61
4.5.1 使用Cookie进行会话跟踪 61
4.5.2 使用URL重写进行会话跟踪 62
4.5.3 使用隐藏表单域进行会话跟踪 63
4.6 小结 65
第5章 JSP技术 67
5.1 JSP简介 67
5.2 JSP页面的结构 68
5.3 脚本元素 68
5.3.1 Scriptlet元素 69
5.3.2 Expression元素 69
5.3.3 Declaration元素 70
5.4 指令 73
5.4.1 page指令 73
5.4.2 include指令 75
5.5 动作 76
5.5.1 Resource动作 76
5.5.2 JavaBean动作 78
5.6 隐式对象 78
5.6.1 request对象 78
5.6.2 response对象 78
5.6.3 application对象 78
5.6.4 out对象 79
5.6.5 page对象 79
5.6.6 session对象 79
5.6.7 exception对象 80
5.6.8 pageContext对象 80
5.6.9 config对象 80
5.7 JSP自定义标签 81
5.8 小结 84
第6章 XML、CSS和XSLT 85
6.1 XML 85
6.1.1 什么是XML 85
6.1.2 XML的产生 85
6.1.3 XML的用途 86
6.1.4 XML元素 87
6.1.5 XML属性 87
6.1.6 XML语法规则 89
6.1.7 XML检验 91
6.2 CSS 92
6.3 XSLT 94
6.4 小结 96
第7章 Ajax简介 97
7.1 Ajax简介 97
7.2 Ajax技术核心 100
7.2.1 XMLHttpRequest对象的常用方法 100
7.2.2 标准的XMLHttpRequest属性 101
7.3 一个简单的Ajax实例 101
7.4 小结 104
第8章 Struts2框架 105
8.1 Web应用的发展 105
8.2 Struts2的起源和体系结构 106
8.3 Struts2核心部分详解 108
8.3.1 核心控制器FilterDispatcher 108
8.3.2 业务逻辑控制器Action 111
8.3.3 业务逻辑组件 116
8.3.4 Struts2表示层 118
8.3.5 Struts2配置文件 119
8.4 Action的配置方式 121
8.4.1 动态方法调用 121
8.4.2 设置action元素的method属性 122
8.4.3 使用通配符配置action 122
8.4.4 默认action 123
8.5 拦截器Interceptor 123
8.5.1 拦截器的定义 124
8.5.2 拦截器的实现原理 124
8.5.3 Struts2的内置拦截器 124
8.5.4 拦截器的配置和使用 125
8.5.5 自定义拦截器 126
8.6 一个简单的Struts2应用 130
8.7 小结 140
第9章 JSF 141
9.1 JSF技术简介 141
9.1.1 JSF与MVC模式 141
9.1.2 JSF应用程序配置 142
9.2 一个简单的JSF应用 142
9.2.1 JSF应用程序开发步骤 143
9.2.2 用户登录实例 143
9.3 JSF应用程序架构 147
9.3.1 JSF请求处理生命周期 147
9.3.2 JSF事件驱动模型 148
9.3.3 JSF导航模型 149
9.4 JSF的组成 152
9.4.1 UI组件 152
9.4.2 JSF标签 154
9.5 统一EL 156
9.5.1 表达式和函数 156
9.5.2 操作符 157
9.5.3 保留字 158
9.5.4 内置对象 158
9.6 Backing Bean 158
9.7 创建自定义组件 162
9.8 小结 164
第10章 JavaBean 165
10.1 JavaBean简介 165
10.1.1 JavaBean的特点 166
10.1.2 JavaBean的元素及属性 167
10.1.3 JavaBean的分类 168
10.2 创建JavaBean 168
10.2.1 JavaBean的规格说明 168
10.2.2 创建一个简单的JavaBean 168
10.3 在JSP中使用JavaBean 169
10.4 使用JavaBean连接数据库 172
10.5 小结 177
第11章 EJB 179
11.1 EJB简介 179
11.1.1 EJB的特点 179
11.1.2 EJB类型与组成 180
11.1.3 EJB 3.0的新特性 181
11.2 元数据注释和部署描述符 181
11.2.1 元数据注释 181
11.2.2 部署描述符 182
11.3 EJB支持JNDI 183
11.3.1 JNDI的概念 183
11.3.2 使用JNDI 186
11.4 会话Bean 191
11.4.1 会话Bean的分类 191
11.4.2 会话Bean的组成 195
11.4.3 会话Bean的生命周期 196
11.4.4 创建无状态会话Bean 197
11.4.5 创建有状态会话Bean 198
11.5 消息驱动Bean和消息服务 199
11.5.1 JMS 200
11.5.2 消息驱动Bean的生命周期 202
11.5.3 创建消息驱动Bean 202
11.6 实体Bean 203
11.6.1 实体Bean的特性 204
11.6.2 实体Bean的分类及组成 204
11.6.3 EJB 3.0中的实体Bean 206
11.7 EJB事务 208
11.7.1 基于容器管理事务 209
11.7.2 基于Bean管理的事务 210
11.8 EJB拦截器 212
11.9 EJB定时服务 214
11.10 EJB安全管理 214
11.11 小结 216
第12章 RMI 217
12.1 RMI简介 217
12.1.1 RMI的架构 218
12.1.2 RMI的组成及实现 218
12.1.3 RMI的优点 219
12.2 一个RMI的简单实例 219
12.3 小结 226
第13章 Web服务概论 227
13.1 SOA简介 227
13.2 Web服务简介 229
13.3 Web服务的核心技术 230
13.3.1 SOAP 232
13.3.2 WSDL 235
13.3.3 UDDI 236
13.4 小结 236
第14章 CORBA 237
14.1 CORBA的需求 237
14.2 CORBA的架构 237
14.2.1 IDL 239
14.2.2 ORB 240
14.2.3 IIOP 241
14.2.4 BOA 241
14.3 CORBA服务 241
14.4 创建CORBA应用 243
14.5 CORBA与RMI 246
14.5.1 CORBA和RMI的区别 246
14.5.2 CORBA和RMI的互操作 247
14.6 小结 248
第15章 Spring框架 249
15.1 Spring 2.0的体系结构 249
15.2 Ioc容器 250
15.2.1 BeanFactory 250
15.2.2 ApplicationContext 252
15.2.3 Beans的生命周期过程 253
15.2.4 Beans的进阶管理 254
15.3 依赖注入 259
15.3.1 Constructor注入 259
15.3.2 Setter注入 261
15.3.3 Method注入 263
15.4 Spring AOP技术 266
15.4.1 装备（advices） 267
15.4.2 Spring AOP的传统用法 275
15.4.3 基于@AspectJ注释的AOP 277
15.4.4 基于aop命名空间的AOP 279
15.5 小结 282
第16章 数据库技术和JDBC技术 283
16.1 关系数据库和SQL 283
16.2 关系数据库的工作环境 284
16.3 基于JDBC的数据访问技术 285
16.3.1 JDBC概述 285
16.3.2 数据库驱动程序 287
16.3.3 使用JDBC查询数据库 291
16.3.4 常用的JDBC类和方法 294
16.3.5 数据库连接池中使用JDBC 297
16.4 小结 302
第17章 ORM与Java持久化机制 303
17.1 ORM概述 303
17.2 域模型 304
17.3 实体域对象的持久化模式 304
17.4 JPA 305
17.4.1 实体 306
17.4.2 EntityManager 309
17.5 持久化查询语言 313
17.6 常用的JPA注释 316
17.7 小结 318
第18章 Hibernate 319
18.1 Hibernate体系结构 319
18.2 Hibernate核心接口 321
18.3 一个简单的Hibernate例子 321
18.4 详解Hibernate配置文件 325
18.4.1 Hibernate的两种配置方式 325
18.4.2 配置数据库连接池 327
18.5 HQL简介 328
18.6 小结 330
第19章 权限管理系统（Struts+Spring+Hiberante+Ajax） 331
19.1 需求分析 331
19.2 系统总体流程设计 331
19.3 系统设计 332
19.4 系统总体解析 336
19.5 系统功能解析 364
19.5.1 管理员登录 364
19.5.2 模块管理 374
19.5.3 角色数据操作 383
19.5.4 资源操作 391
19.5.5 用户管理 394
19.6 小结 404
第20章 航空订票系统（JSF/Richfaces+EJB+JPA） 405
20.1 需求分析 405
20.2 基本设计理念 406
20.3 系统设计 407
20.3.1 系统用例分析 407
20.3.2 持久化数据分析 413
20.3.3 系统操作序列描述 413
20.3.4 业务接口设计 419
20.4 数据库设计 421
20.4.1 数据库规划 421
20.4.2 具体数据库表 423
20.4.3 SQL代码 426
20.5 系统实现 431
20.5.1 工程开发环境的建立 431
20.5.2 EJB Entity开发 435
20.5.3 EJB Session开发 443
20.5.4 Message-Driven Bean开发 447
20.5.5 JSF/Richfaces开发 448
20.5.6 远程连接 455
20.5.7 系统配置 456
20.6 系统运行 462
20.6.1 服务器的选择 462
20.6.2 系统的部署 462
20.6.3 系统的运行 463
20.7 小结 466
……