第1章 Spring框架简介与IoC容器 1
1.1 Spring简介 1
1.1.1 Spring历史 1
1.1.2 Spring项目简介 2
1.1.3 Spring Framework安装 4
1.2 IoC容器 7
1.2.1 IoC容器和依赖倒置原则 7
1.2.2 依赖注入类型 12
1.3 Spring IoC容器 13
1.3.1 BeanFactory容器 13
1.3.2 ApplicationContext容器 14
1.3.3 使用Spring IoC容器 14
第2章 Spring AOP 26
2.1 AOP基础 26
2.1.1 AOP概述 26
2.1.2 AOP常用术语 27
2.1.3 动态代理 28
2.2 通知和切面 32
2.2.1 通知 32
2.2.2 切面 34
第3章 Spring注解 37
3.1 使用注解配置IoC 37
3.1.1 使用注解定义Bean 37
3.1.2 使用注解配置信息文件 39
3.1.3 使用注解实现依赖注入 40
3.2 使用AspectJ配置AOP 41
3.2.1 使用前准备 41
3.2.2 配置AOP 41
3.2.3 AspectJ基础 42
3.2.4 AspectJ注解类 44
3.3 使用Spring表达式语言 47
3.3.1 简介 47
3.3.2 基本用法 48
第4章 Spring安全机制 51
4.1 Spring Security基础 51
4.1.1 简介 51
4.1.2 历史 52
4.1.3 安装 52
4.2 Spring Security授权Web请求 53
4.2.1 授权Web请求基础 53
4.2.2 进阶一:自定义登录首页及
用户角色 56
4.2.3 进阶二:自定义用户权限 59
第5章 Struts 2基础 69
5.1 了解Struts 2 69
5.1.1 Struts 2发展史 69
5.1.2 什么是Struts 2 70
5.2 Struts 2体系结构 72
5.2.1 Struts 2请求流程 72
5.2.2 Struts 2框架结构 73
5.2.3 Struts 2组成介绍 74
5.3 Struts 2项目资源 74
5.3.1 Struts 2相关资源下载 74
5.3.2 Struts 2项目的目录结构 75
5.4 如何学习Struts 2 76
5.5 Struts 2项目开发 76
5.5.1 简单示例 76
5.5.2 代码流程 78
第6章 Struts 2核心 79
6.1 Struts 2配置声明 79
6.1.1 配置声明方式 79
6.1.2 配置文件概述 80
6.1.3 struts.xml配置文件 81
6.1.4 包和命名空间 83
6.1.5 配置Action 86
6.2 实现Action 89
6.2.1 POJO实现Action 89
6.2.2 继承ActionSupport 91
6.2.3 动态方法调用 93
6.2.4 指定method属性及使用通配符 96
6.3 配置处理结果 103
6.3.1 理解处理结果 103
6.3.2 配置结果 104
6.3.3 Struts 2支持的结果类型 105
6.3.4 plainText结果类型 107
6.3.5 动态结果 109
6.3.6 Action属性值决定视图资源 110
6.3.7 全局结果 114
6.4 拦截器 115
6.4.1 Struts 2内建的拦截器 115
6.4.2 配置拦截器 118
6.4.3 自定义拦截器 120
第7章 Struts 2标签库 123
7.1 Struts 2标签库简介 123
7.2 OGNL 123
7.2.1 OGNL简介 123
7.2.2 OGNL三要素 124
7.2.3 ValueStack 对象 125
7.2.4 使用OGNL访问数据 126
7.2.5 使用OGNL设置数据 127
7.2.6 上下文环境以及方法调用 127
7.2.7 使用OGNL操作集合 129
7.2.8 使用OGNL过滤集合与
投影集合 132
7.2.9 OGNL在Struts 2框架中的
作用 134
7.2.10 在Struts 2项目中使用OGNL 136
7.3 通用标签 139
7.3.1 流程控制标签 139
7.3.2 条件标签 139
7.3.3 组合标签 140
7.3.4 分隔标签 142
7.3.5 迭代标签 144
7.3.6 合并标签 145
7.3.7 排序标签 145
7.3.8 子集标签 146
7.3.9 数据访问标签 149
7.3.10 Action标签 149
7.3.11 Bean标签 151
7.3.12 包含标签 151
7.3.13 参数标签 152
7.3.14 Push标签 152
7.3.15 赋值标签 153
7.3.16 URL标签 153
7.4 用户界面标签 155
7.4.1 表单标签 155
7.4.2 表单标签通用属性 156
7.4.3 表单标签的name和value属性 157
7.4.4 Checkboxlist标签 158
7.4.5 Doubleselect标签 160
7.4.6 Select标签 161
7.4.7 Radio标签 162
7.4.8 非表单标签 163
第8章 Struts 2其他功能 165
8.1 Struts 2类型转化 165
8.1.1 内建的类型转换 166
8.1.2 自动类型转换 166
8.1.3 类型转换中的错误 169
8.1.4 定义局部异常提示 171
8.1.5 定义全局异常提示 172
8.1.6 自定义类型转换器 173
8.2 Struts 2输入校验 174
8.2.1 Struts 2输入校验支持 174
8.2.2 手动完成输入校验 178
8.3 Struts 2国际化 182
8.3.1 加载全局资源文件 182
8.3.2 访问国际化消息 183
8.3.3 使用占位符 186
8.3.4 使用表达式 188
8.3.5 加载资源文件的方式 189
8.3.6 加载资源文件的顺序 193
8.4 Struts 2的异常处理 194
8.4.1 异常处理机制 194
8.4.2 声明式异常 196
8.4.3 输出异常信息 198
第9章 MyBatis介绍 200
9.1 MyBatis架构 200
9.2 MyBatis下载 201
9.3 MyBatis入门程序 201
第10章 MyBatis DAO开发 209
10.1 SqlSession的使用范围 209
10.1.1 SqlSessionFactoryBuilder 209
10.1.2 SqlSessionFactory 209
10.1.3 SqlSession 209
10.2 原始DAO开发方法 210
10.2.1 映射文件 210
10.2.2 DAO接口 211
10.3 Mapper接口开发方法 212
10.3.1 实现原理 212
10.3.2 Mapper.xml(映射文件) 212
10.3.3 Mapper.java(接口) 213
10.3.4 加载UserMapper.xml文件 214
10.3.5 测试 214
第11章 MyBatis 配置文件 216
11.1 SqlMapConfig.xml配置文件 216
11.2 Mapper.xml映射文件 219
11.2.1 parameterType(输入类型) 219
11.2.2 resultType(输出类型) 222
11.2.3 resultMap 224
11.2.4 动态sql 225
第12章 MyBatis关联查询 231
12.1 商品订单数据模型 231
12.2 一对一查询 231
12.2.1 方法一:使用resultType 231
12.2.2 方法二:使用resultMap 233
12.3 一对多查询 234
12.4 多对多查询 236
12.5 延迟加载 238
12.5.1 打开延迟加载开关 238
12.5.2 一对一查询延迟加载 239
第13章 SSM框架集成 241
13.1 Spring集成Struts 2.X 241
13.1.1 启动Spring容器 241
13.1.2 Spring容器管理Action 243
13.2 Spring集成MyBatis 245
13.2.1 MyBatis与Spring整合jar 245
13.2.2 MyBatis配置文件 245
13.2.3 Spring配置文件 246
13.2.4 Mapper编写 247