理论篇 3
第1章 Java EE应用 3
1.1 Java EE概述 4
1.1.1 Java EE应用分层模型 4
1.1.2 Model1与Model2 5
1.1.3 MVC思想及其优势 6
1.2 自定义MVC框架 7
1.2.1 实现控制器 7
1.2.2 实现加法器功能 10
1.3 JavaEE架构技术 13
1.3.1 JSP和Servlet介绍 13
1.3.2 Struts2介绍 13
1.3.3 Hibernate介绍 13
1.3.4 Spring介绍 14
1.3.5 EJB3.0介绍 14
本章小结 14
本章练习 15
第2章 Struts2基础 17
2.1 Struts2概述 18
2.1.1 Struts2起源背景 18
2.1.2 Struts2框架结构 18
2.1.3 Struts2控制器组件 19
2.1.4 Struts2的配置文件 21
2.1.5 Struts2的标签库 22
2.1.6 Struts2的处理步骤 22
2.2 基于Struts2的加法器 22
2.2.1 配置应用环境 23
2.2.2 创建输入视图 24
2.2.3 实现业务逻辑类 25
2.2.4 创建业务控制器 26
2.2.5 配置业务控制器 27
2.2.6 创建结果视图 27
2.2.7 演示运行结果 28
本章小结 29
本章练习 29
第3章 Struts2深入 31
3.1 配置文件详解 32
3.1.1 常量配置 32
3.1.2 包配置 34
3.1.3 命名空间配置 35
3.1.4 包含配置 37
3.2 Action详解 37
3.2.1 Action实现 38
3.2.2 Action访问ActionContext 45
3.2.3 Action直接访问ServletAPI 47
3.2.4 Action的配置 50
3.2.5 动态方法调用 50
3.2.6 通配符配置 53
3.3 处理结果 55
3.3.1 结果处理流程 55
3.3.2 result配置 56
3.3.3 result类型 57
3.3.4 动态result 61
3.4 异常处理 62
3.4.1 Struts2异常处理机制 62
3.4.2 异常的配置 63
本章小结 64
本章练习 65
第4章 Struts2标签库 67
4.1 Struts2标签库概述 68
4.1.1 标签库简介 68
4.1.2 标签库的组成 68
4.1.3 导入Struts2标签库 69
4.2 Struts2中使用OGNL 70
4.2.1 OGNL与值栈 70
4.2.2 OGNL语法 72
4.2.3 OGNL集合表达式 74
4.3 数据标签 74
4.3.1 property标签 75
4.3.2 param标签 76
4.3.3 bean标签 77
4.3.4 set标签 79
4.3.5 include标签 81
4.3.6 url标签 82
4.4 控制标签 83
4.4.1 if/elseif/else标签 84
4.4.2 iterator标签 85
4.5 主题和模板 89
4.5.1 主题 89
4.5.2 模板 90
4.6 表单标签 91
4.6.1 checkboxlist标签 92
4.6.2 optiontransferselect标签 93
4.6.3 optgroup标签 95
4.7 非表单标签 96
本章小结 98
本章练习 98
第5章 Hibernate基础 99
5.1 Hibernate概述 100
5.1.1 ORM框架 100
5.1.2 Hibernate概述 101
5.2 Hibernate应用开发方式 104
5.3 Hibernate应用示例 104
5.3.1 配置Hibernate应用环境 105
5.3.2 创建持久化类及ORM映射文件 106
5.3.3 利用Configuration装载配置 108
5.3.4 利用SessionFactory创建Session 109
5.3.5 利用Session操作数据库 109
5.3.6 利用Transaction管理事务 110
5.3.7 利用Query进行HQL查询 111
5.3.8 利用Criteria进行条件查询 113
5.4 Hibernate配置文件详解 114
5.4.1 hibernate.cfg.xml 115
5.4.2 hibernate.properties 115
5.4.3 联合使用 116
5.5 Hibernate映射文件详解 116
5.5.1 映射文件结构 116
5.5.2 主键生成器 118
5.5.3 映射集合属性 119
5.6 持久化对象 119
5.6.1 持久化对象状态 119
5.6.2 改变持久化对象状态的方法 120
本章小结 124
本章练习 125
第6章 Hibernate核心技能 127
6.1 Hibernate关联关系 128
6.1.1 一对多关联关系 129
6.1.2 级联关系 138
6.1.3 一对一关联关系 141
6.1.4 多对多关联关系 143
6.2 Hibernate批量处理 148
6.2.1 批量插入 148
6.2.2 批量更新 149
6.3 Hibernate检索方式 151
6.4 HQL与QBC检索 152
6.4.1 Query与Criteria接口 154
6.4.2 使用别名 155
6.4.3 结果排序 155
6.4.4 分页查询 157
6.4.5 检索一条记录 159
6.4.6 设定查询条件 160
6.4.7 HQL中绑定参数 163
6.4.8 连接查询 165
6.4.9 投影、分组与统计 171
6.4.10 动态查询 174
6.4.11 子查询 178
6.4.12 查询方式比较 180
6.5 Hibernate事务管理 180
6.5.1 数据库事务 180
6.5.2 Hibernate中的事务 182
本章小结 183
本章练习 184
第7章 Spring基础 185
7.1 Spring概述 186
7.1.1 Spring起源背景 186
7.1.2 Spring体系结构 186
7.1.3 配置Spring环境 187
7.2 IoC容器 188
7.2.1 IoC概述 188
7.2.2 BeanFactory 189
7.2.3 ApplicationContext 190
7.2.4 Bean的生命周期 191
7.3 IoC容器中装配Bean 192
7.3.1 Spring配置文件 193
7.3.2 Bean基本配置 193
7.3.3 依赖注入的方式 194
7.3.4 注入值的类型 198
7.3.5 Bean间关系 202
7.3.6 Bean作用域 203
7.3.7 自动装配 205
本章小结 207
本章练习 208
第8章 Spring深入 209
8.1 Spring AOP 210
8.1.1 AOP思想和本质 210
8.1.2 AOP术语 210
8.1.3 Advice类型 212
8.1.4 基于XML配置的AOP 213
8.1.5 基于Annotation配置的AOP 222
8.2 Spring事务管理 226
8.2.1 Spring的事务策略 226
8.2.2 使用XML配置声明式事务 230
8.2.3 使用Annotation配置声明式事务 235
本章小结 237
本章练习 238
第9章 框架集成 239
9.1 Spring集成Struts2 240
9.1.1 整合原理 240
9.1.2 集成步骤 240
9.2 Spring集成Hibernate 243
9.2.1 配置SessionFactory 244
9.2.2 使用HibernateTemplate 246
9.2.3 使用HibernateDaoSupport 247
9.2.4 事务处理 250
9.2.5 OSIV模式 251
本章小结 253
本章练习 253
实践篇 257
实践1 Struts2基础 257
实践指导 257
实践1.1 环境搭建 257
实践1.2 项目分析 261
实践1.3 项目设计 261
知识拓展 264
拓展练习 266
实践2 Struts2深入 267
实践指导 267
知识拓展 273
拓展练习 285
实践3 Struts2标签库 286
实践指导 286
实践3.1 注册及客户列表功能 286
实践3.2 商品的添加和显示 295
知识拓展 305
拓展练习 316
实践4 实体类及映射文件 317
实践指导 317
实践4.1 317
实践4.2 318
实践4.3 321
知识拓展 324
拓展练习 340
实践5 业务类及DAO 341
实践指导 341
实践5.1 实现客户相关功能 341
实践5.2 实现商品相关功能 346
实践5.3 实现订单相关功能 349
知识拓展 353
拓展练习 364
实践6 框架集成 365
实践指导 365
实践6.1 集成Spring与Hibernate 365
实践6.2 集成Spring与Struts2 377
实践6.3 完成商品展示模块 379
知识拓展 386
拓展练习 387
实践7 AOP应用 388
实践指导 388
实践7.1 声明式事务的配置 388
实践7.2 AOP实践 390
知识拓展 401
拓展练习 407
实践8 项目完善 408
实践指导 408
实践8.1 DetachedCriteria 408
实践8.2 使用Javascript改进查询 412
知识拓展 415
拓展练习 425
附录A 常见Java EE框架 426
附录B 常用开源类库 428