第1章 Java EE应用 1
任务驱动 1
学习路线 1
本章目标 1
1.1 Java EE概述 1
1.1.1 Java EE分层架构 2
1.1.2 Model 1 2
1.1.3 Model 2 3
1.1.4 MVC思想 4
1.2 Java EE架构技术 5
1.2.1 JSP&Servlet 5
1.2.2 Struts 2介绍 5
1.2.3 Hibernate介绍 6
1.2.4 Spring介绍 6
1.2.5 EJB 3.0介绍 7
1.3 贯穿任务实现 7
1.3.1 实现任务1-1 7
1.3.2 实现任务1-2 10
1.3.3 实现任务1-3 10
本章总结 13
小结 13
Q&A 13
章节练习 13
习题 13
上机 14
第2章 Struts 2基础 15
任务驱动 15
学习路线 15
本章目标 15
2.1 Struts 2概述 15
2.1.1 起源 16
2.1.2 框架结构 17
2.1.3 处理步骤 18
2.1.4 控制器 18
2.1.5 配置文件 20
2.1.6 标签库 21
2.2 Hello Struts 2 22
2.2.1 配置Struts 2框架 22
2.2.2 创建输入视图 26
2.2.3 创建业务控制器 26
2.2.4 配置业务控制器 28
2.2.5 创建结果视图 28
2.2.6 运行显示视图 29
2.3 贯穿任务实现 30
2.3.1 实现任务2-1 30
2.3.2 实现任务2-2 31
本章总结 38
小结 38
Q&A 38
章节练习 38
习题 38
上机 39
第3章 Struts 2进阶 40
任务驱动 40
学习路线 40
本章目标 40
3.1 Struts 2的常规配置 41
3.1.1 常量 41
3.1.2 包 43
3.1.3 命名空间 44
3.1.4 包含其他配置文件 46
3.2 实现Action 47
3.2.1 POJO实现方式 47
3.2.2 实现Action接口方式 51
3.2.3 继承ActionSupport类方式 52
3.2.4 访问ActionContext 55
3.2.5 访问Servlet API 57
3.3 配置Action 61
3.3.1 Action基本配置 61
3.3.2 动态方法调用 62
3.3.3 使用method属性及通配符 66
3.4 result 67
3.4.1 result处理流程 67
3.4.2 配置result 68
3.4.3 result类型 69
3.4.4 动态result 71
3.5 Struts 2异常处理 72
3.5.1 异常处理机制 72
3.5.2 配置异常 72
3.6 贯穿任务实现 74
3.6.1 、实现任务3-1 74
3.6.2 实现任务3-2 80
3.6.3 实现任务3-3 84
本章总结 91
小结 91
Q&A 92
章节练习 92
习题 92
上机 94
第4章 Struts 2标签库 95
任务驱动 95
学习路线 95
本章目标 96
4.1 Struts 2标签库概述 96
4.1.1 标签库的优势 96
4.1.2 Struts 2的标签分类 96
4.1.3 Struts 2标签库的导入 97
4.2 OGNL表达式语言 98
4.2.1 OGNL上下文和值栈 99
4.2.2 OGNL常用符号的用法 100
4.2.3 OGNL集合表达式 101
4.3 数据标签 102
4.3.1 〈bean〉标签 103
4.3.2 〈include〉标签 104
4.3.3 〈param〉标签 105
4.3.4 〈property〉标签 106
4.3.5 〈set〉标签 106
4.3.6 〈url〉标签 107
4.4 控制标签 109
4.4.1 选择控制标签 110
4.4.2 〈iterator〉标签 111
4.5 模板和主题 113
4.5.1 模板(Template) 113
4.5.2 主题(Theme) 113
4.5.3 Struts 2的内建主题 114
4.6 表单标签 115
4.6.1 〈checkboxlist〉标签 115
4.6.2 〈datetimepicker〉标签 117
4.6.3 〈doubleselect〉标签 118
4.6.4 〈optgroup〉标签 120
4.6.5 〈optiontransferselect〉标签 121
4.7 非表单标签 123
4.7.1 〈actionerror〉标签和〈actionmessage〉标签 124
4.7.2 〈tree〉标签和〈treenode〉标签 125
4.8 贯穿任务实现 126
4.8.1 实现任务4-1 126
4.8.2 实现任务4-2 128
4.8.3 实现任务4-3 132
本章总结 137
Q&A 138
章节练习 138
习题 138
上机 139
第5章 Hibernate入门 140
任务驱动 140
学习路线 140
本章目标 140
5.1 Hibernate概述 141
5.1.1 ORM起源 141
5.1.2 Hibernate框架 143
5.1.3 Hibernate API 144
5.2 持久化对象 145
5.3 Hibernate配置文件 147
5.3.1 hibernate.cfg.xml 148
5.3.2 hibernate.properties 150
5.3.3 联合使用 150
5.4 Hibernate映射文件 151
5.4.1 映射文件结构 151
5.4.2 映射主键 152
5.4.3 映射集合属性 153
5.5 Hibernate下载及安装 153
5.6 Hello Hibernate 155
5.6.1 配置Hibernate应用环境 155
5.6.2 编写PO 156
5.6.3 创建Configuration对象 158
5.6.4 创建Sessio nFactory 159
5.6.5 获取Session 159
5.6.6 使用T ransaction管理事务 160
5.6.7 使用Query进行HQL查询 163
5.6.8 使用Criteria进行条件查询 165
5.7 PO J O状态 167
5.8 贯穿任务实现 171
5.8.1 实现任务5-1 171
5.8.2 实现任务5-2 176
5.8.3 实现任务5-3 184
本章总结 188
小结 188
Q&A 188
章节练习 189
习题 189
上机 190
第6章 Hibernate进阶 191
任务驱动 191
学习路线 191
本章目标 192
6.1 Hibernate关联关系 192
6.1.1 1-N关联 193
6.1.2 1-1关联 203
6.1.3 N-N关联 209
6.1.4 级联关系 215
6.2 检索方式简介 218
6.3 HQL与QBC检索 219
6.3.1 HQL检索 219
6.3.2 QBC检索 222
6.3.3 HQL与QBC对比 225
6.3.4 使用别名 225
6.3.5 查询结果排序 226
6.3.6 分页查询 228
6.3.7 查询单条记录 230
6.3.8 HQL中绑定参数 232
6.3.9 设定查询条件 236
6.3.10 连接查询 241
6.3.11 投影查询 247
6.3.12 分组与统计查询 249
6.3.13 动态查询 251
6.3.14 子查询 256
6.4 Hibernate事务管理 259
6.4.1 数据库事务 259
6.4.2 Hibernate中的事务 261
6.5 Hibernate批量数据处理 261
6.5.1 批量数据插入 261
6.5.2 批量数据更新 263
6.5.3 批量数据删除 265
6.6 贯穿任务实现 265
6.6.1 实现任务6-1 265
6.6.2 实现任务6-2 271
6.6.3 实现任务6-3 272
6.6.4 实现任务6-4 282
本章总结 289
小结 289
Q&A 290
章节练习 290
习题 290
上机 291
第7章 Hibernate高级 292
任务驱动 292
学习路线 292
本章目标 292
7.1 检索策略 293
7.2 类级别检索策略 293
7.2.1 类级别立即加载 294
7.2.2 类级别延迟加载 294
7.3 1-N检索策略 295
7.3.1 立即加载和延迟加载 296
7.3.2 批量检索 297
7.3.3 预先抓取 299
7.4 N-1关联检索策略 301
7.4.1 立即加载 301
7.4.2 延迟加载 302
7.4.3 预先抓取 302
7.5 预先抓取的显示指定 302
7.6 Hibernate查询性能优化 303
7.6.1 查询方法选择 303
7.6.2 抓取策略和时机 304
7.7 贯穿任务实现 305
7.7.1 实现任务7-1 305
7.7.2 实现任务7-2 312
7.7.3 实现任务7-3 318
本章总结 322
小结 322
Q&A 322
章节练习 322
习题 322
上机 322
第8章 Spring初步 323
任务驱动 323
学习路线 323
本章目标 323
8.1 Spring概述 324
8.1.1 Spring起源背景 324
8.1.2 Spring体系结构 325
8.2 IoC容器 327
8.2.1 IoC概述 327
8.2.2 BeanFactory 327
8.2.3 ApplicationContext 329
8.2.4 Bean的生命周期 330
8.3 配置IoC 331
8.3.1 XML配置文件 331
8.3.2 〈bean〉元素 332
8.3.3 配置依赖注入 332
8.3.4 注入值类型 336
8.3.5 Bean之间的关系 339
8.3.6 Bean作用域 340
8.3.7 自动装配 342
8.4 贯穿任务实现 343
8.4.1 实现任务8-1 343
8.4.2 实现任务8-2 357
8.4.3 实现任务8-3 362
小结 371
Q&A 371
章节练习 371
习题 371
上机 372
第9章 Spring进阶 373
任务驱动 373
学习路线 373
本章目标 373
9.1 AOP概述 373
9.1.1 AOP的应用场景 374
9.1.2 AOP原理 378
9.1.3 AOP的实现策略 379
9.2 Spring AOP 386
9.2.1 增强的类型 386
9.2.2 使用XML配置Spring AOP 387
9.2.3 使用注解配置Spring AOP 401
9.3 Spring事务管理 403
9.3.1 Spring事务支持 403
9.3.2 使用XML配置事务 406
9.3.3 使用注解配置事务 409
9.4 贯穿任务实现 411
9.4.1 实现任务9-1 411
本章总结 420
小结 420
Q&A 421
章节练习 421
习题 421
上机 422
第10章 Spring高级 423
任务驱动 423
学习路线 423
本章目标 423
10.1 Spring线程池 423
10.1.1 线程池概述 424
10.1.2 Java SE线程池 425
10.1.3 Spring线程池 430
10.2 任务调度 433
10.2.1 ScheduledExecutorService 433
10.2.2 Spring集成Quartz 435
10.2.3 Spring的任务调度框架 438
10.3 Spring集成Struts 2和Hibernate 440
10.3.1 Spring集成Struts 2 440
10.3.2 Spring集成Hibernate 444
10.3.3 Spring、Struts 2、 Hibernate整合 450
10.4 贯穿任务实现 451
10.4.1 实现任务10-1 451
10.4.2 实现任务10-2 462
本章总结 472
小结 472
Q&A 472
章节练习 473
习题 473
上机 473
附录A其他常见Java EE框架 474
A.1 Web框架 474
A.2 持久化框架 474
A.3 IoC框架 475
A.4 AOP框架 475
附录B Spring MVC 476
B.1 Spring MVC体系结构 476
B.2 配置DispatcherServlet 477
B.3 第一个Spring MVC实例 479
附录C MyBatis 484
C.1 MyBatis结构原理 484
C.2 MyBatis工作原理 485
C.3 MyBatis的优缺点 486
C.4 第一个MyBatis实例 486