第1章 Struts2框架入门 1
1.1 Struts2简介 1
1.1.1 什么是Struts2 1
1.1.2 Struts2的下载和安装 2
1.2 Struts2的入门案例 5
1.3 Struts2的执行流程分析 10
1.4 本章小结 13
第2章 Struts2的核心配置 14
2.1 配置struts.xml文件 14
2.1.1 struts.xml文件 14
2.1.2 常量配置 15
2.1.3 包配置 17
2.1.4 包含配置 17
2.2 Action的配置 18
2.2.1 实现Action控制类 18
2.2.2 配置Action 20
2.2.3 使用通配符 21
2.3 Action访问Servlet API 22
2.4 Action处理请求参数 29
2.4.1 属性驱动 29
2.4.2 模型驱动 33
2.5 Result结果类型 34
2.5.1 配置Result 34
2.5.2 预定义的结果类型 35
2.5.3 dispatcher结果类型 36
2.5.4 redirect结果类型 36
2.6 本章小结 38
第3章 Struts2的拦截器 39
3.1 拦截器简介 39
3.1.1 拦截器概述 39
3.1.2 拦截器的工作原理 39
3.1.3 拦截器的配置 40
3.2 Struts2的内建拦截器 42
3.2.1 内建拦截器的介绍 42
3.2.2 内建拦截器的配置 44
3.3 自定义拦截器 45
3.3.1 实现自定义拦截器 45
3.3.2 应用案例——使用拦截器实现权限控制 46
3.4 本章小结 52
第4章 Struts2的标签库 53
4.1 Struts2标签库概述 53
4.1.1 Struts2标签库的分类 53
4.1.2 Struts2标签的使用 54
4.2 Struts2的控制标签 54
4.2.1 <s:if>标签、<s:elseif>标签、<s:else>标签 54
4.2.2 <s:iterator>标签 55
4.3 Struts2的数据标签 57
4.3.1 <s:property>标签 57
4.3.2 <s:a>标签 58
4.3.3 <s:debug>标签 58
4.3.4 <s:include>标签 59
4.3.5 <s:param>标签 60
4.4 Struts2的模板和主题 61
4.5 Struts2的表单标签 61
4.5.1 表单标签的公共属性 62
4.5.2 <s:form>标签 62
4.5.3 <s:submit>标签 63
4.5.4 <s:textfield>标签和<s:textarea>标签 63
4.5.5 <s:password>标签 63
4.5.6 <s:radio>标签 64
4.5.7 <s:checkbox>标签 65
4.5.8 <s:checkboxlist>标签 66
4.5.9 <s:select>标签 67
4.5.10 <s:optgroup>标签 68
4.5.11 <s:file>标签 69
4.5.12 <s:hidden>标签 70
4.5.13 <s:reset>标签 70
4.6 Struts2的非表单标签 72
4.7 本章小结 73
第5章 OGNL表达式和值栈 74
5.1 OGNL表达式 74
5.1.1 什么是OGNL 74
5.1.2 使用OGNL访问对象方法和静态方法 78
5.2 值栈 82
5.2.1 什么是值栈 82
5.2.2 值栈的内部结构 83
5.2.3 值栈在开发中的应用 85
5.2.4 通过EL访问值栈的数据 90
5.3 本章小结 91
第6章 Struts2的文件上传和下载 92
6.1 文件上传 92
6.1.1 文件上传的概述 92
6.1.2 应用案例——单文件上传 94
6.1.3 限制文件的大小和类型 97
6.2 文件下载 100
6.2.1 文件下载的概述 101
6.2.2 应用案例——文件下载 102
6.2.3 中文文件的下载 103
6.3 本章小结 106
第7章 初识Hibernate 107
7.1 Hibernate简介 107
7.1.1 为什么使用Hibernate 107
7.1.2 Hibernate的下载和目录结构 108
7.1.3 Hibernate的执行流程 110
7.2 第一个Hibernate程序 111
7.2.1 创建项目并导入JAR包 111
7.2.2 创建数据库及表 112
7.2.3 编写实体类(持久化类) 112
7.2.4 编写映射文件Customer.hbm.xml 114
7.2.5 编写核心配置文件hibernate.cfg.xml 115
7.2.6 编写测试类,进行增删改查操作 116
7.3 Hibernate的核心文件 122
7.3.1 Hibernate的映射文件*.hbm.xml详解 122
7.3.2 Hibernate的配置文件hibernate.cfg.xml详解 126
7.4 Hibernate的核心API 129
7.4.1 Configuration 129
7.4.2 SessionFactory 130
7.4.3 Session 131
7.4.4 Transaction 131
7.4.5 Query 132
7.4.6 Criteria 134
7.5 本章小结 136
第8章 持久化对象状态和一级缓存 137
8.1 Hibernate持久化对象的状态 137
8.1.1 持久化对象的状态 137
8.1.2 持久化对象状态转换 142
8.2 Hibernate的一级缓存 143
8.2.1 什么是一级缓存 144
8.2.2 一级缓存常用操作 148
8.3 本章小结 151
第9章 Hibernate的关联关系映射 152
9.1 系统模型中实体设计的三种关联关系 152
9.1.1 一对多关联关系映射 153
9.1.2 多对多关联关系映射 159
9.2 关联关系中的反转与级联 164
9.2.1 反转操作 164
9.2.2 级联操作 166
9.3 本章小结 173
第10章 Hibernate的检索方式 175
10.1 Hibernate检索方式的概述 175
10.1.1 导航对象图检索方式 175
10.1.2 OID检索方式 175
10.1.3 HQL检索方式 175
10.1.4 QBC检索方式 176
10.1.5 本地SQL检索方式 177
10.2 HQL检索 177
10.2.1 指定别名 177
10.2.2 投影查询 179
10.2.3 动态实例查询 179
10.2.4 条件查询 181
10.2.5 分页查询 184
10.3 QBC检索 185
10.3.1 组合查询 185
10.3.2 分页查询 187
10.4 本章小结 188
第11章 Hibernate的事务处理和二级缓存 189
11.1 事务的概述 189
11.1.1 事务的特性 189
11.1.2 事务的并发问题 190
11.1.3 事务的隔离级别 190
11.2 Hibernate的事务处理 191
11.2.1 Hibernate中的事务配置 191
11.2.2 Hibernate事务处理方式之悲观锁 191
11.2.3 Hibernate事务处理方式之乐观锁 198
11.3 Hibernate的二级缓存 201
11.3.1 二级缓存的原理和分类 201
11.3.2 二级缓存的结构 201
11.3.3 二级缓存的并发访问策略和供应商 202
11.3.4 二级缓存的配置和使用 203
11.4 本章小结 207
第12章 Spring的基本应用 208
12.1 Spring基本知识 208
12.1.1 什么是Spring 208
12.1.2 Spring框架的优点 208
12.1.3 Spring的体系结构 209
12.1.4 Spring的下载及目录结构 210
12.2 Spring的IoC容器 213
12.2.1 BeanFactory 213
12.2.2 ApplicationContext 214
12.3 第一个Spring程序 214
12.4 依赖注入 217
12.5 本章小结 219
第13章 Spring中的Bean 220
13.1 Bean的配置 220
13.2 Bean的实例化 221
13.2.1 构造器实例化 221
13.2.2 静态工厂方式实例化 223
13.2.3 实例工厂方式实例化 224
13.3 Bean的作用域 226
13.3.1 作用域的种类 226
13.3.2 Singleton作用域 227
13.3.3 Prototype作用域 228
13.4 Bean的生命周期 228
13.5 Bean的装配方式 230
13.5.1 基于XML的装配 230
13.5.2 基于Annotation的装配 232
13.5.3 自动装配 236
13.6 本章小结 238
第14章 面向切面编程(Spring AOP) 239
14.1 Spring AOP简介 239
14.1.1 什么是AOP 239
14.1.2 AOP术语 239
14.2 手动代理 240
14.2.1 JDK动态代理 240
14.2.2 CGLIB代理 243
14.3 声明式工厂Bean 246
14.3.1 Spring通知类型 246
14.3.2 声明式Spring AOP 246
14.4 AspectJ开发 249
14.4.1 基于XML的声明式AspectJ 249
14.4.2 基于Annotation的声明式AspectJ 253
14.5 本章小结 256
第15章 Spring的数据库开发 258
15.1 Spring JDBC 258
15.1.1 Spring JDBCTemplate的解析 258
15.1.2 Spring JDBCTemplate的常用方法 260
15.2 本章小结 271
第16章 Spring事务管理 272
16.1 Spring事务管理的三个核心接口 272
16.2 TransactionProxyFactoryBean 274
16.3 Spring AOP XML方式 280
16.4 Spring AOP Annotation方式 282
16.5 本章小结 284
第17章 SSH框架整合 285
17.1 准备整合环境 285
17.1.1 准备数据库环境 285
17.1.2 配置Strust2环境 286
17.1.3 配置Spring环境 288
17.1.4 配置Hibernate环境 290
17.2 Spring和Hibernate的整合 291
17.2.1 介绍 292
17.2.2 使用hibernate.cfg.xml文件 292
17.2.3 不使用hibernate.cfg.xml 298
17.3 Spring与Struts2的整合 301
17.3.1 介绍 301
17.3.2 Action创建交予Spring 301
17.3.3 Struts2自身创建Action 304
17.4 注解 306
17.5 本章小结 311