第1部分 Spring 2
第1章 Spring入门 2
1.1 Spring简介 2
1.1.1 Spring的由来 2
1.1.2 Spring的体系结构 2
1.2 Spring开发环境的构建 4
1.2.1 使用Eclipse开发Java Web应用 5
1.2.2 Spring的下载及目录结构 8
1.3 使用Eclipse开发Spring入门程序 9
1.4 本章小结 11
习题1 11
第2章 Spring IoC 12
2.1 Spring IoC的基本概念 12
2.2 Spring IoC容器 13
2.2.1 BeanFactory 13
2.2.2 ApplicationContext 14
2.3 依赖注入的类型 15
2.3.1 使用构造方法注入 15
2.3.2 使用属性的setter方法注入 18
2.4 本章小结 19
习题2 19
第3章 Spring Bean 20
3.1 Bean的配置 20
3.2 Bean的实例化 21
3.2.1 构造方法实例化 22
3.2.2 静态工厂实例化 24
3.2.3 实例工厂实例化 25
3.3 Bean的作用域 26
3.3.1 singleton作用域 26
3.3.2 prototype作用域 27
3.4 Bean的生命周期 28
3.5 Bean的装配方式 30
3.5.1 基于XML配置的装配 30
3.5.2 基于注解的装配 34
3.6 本章小结 38
习题3 38
第4章 Spring AOP 39
4.1 Spring AOP的基本概念 39
4.1.1 AOP的概念 39
4.1.2 AOP的术语 40
4.2 动态代理 42
4.2.1 JDK动态代理 42
4.2.2 CGLIB动态代理 45
4.3 基于代理类的AOP实现 48
4.4 基于XML配置开发AspectJ 51
4.5 基于注解开发AspectJ 56
4.6 本章小结 59
习题4 60
第5章 Spring的事务管理 61
5.1 Spring的数据库编程 61
5.1.1 Spring JDBC的配置 62
5.1.2 Spring JdbcTemplate的常用方法 62
5.2 编程式事务管理 67
5.2.1 基于底层API的编程式事务管理 67
5.2.2 基于TransactionTemplate的编程式事务管理 69
5.3 声明式事务管理 71
5.3.1 基于XML方式的声明式事务管理 72
5.3.2 基于@Transactional注解的声明式事务管理 76
5.4 本章小结 78
习题5 78
第2部分 MyBatis 80
第6章 MyBatis开发入门 80
6.1 MyBatis简介 80
6.2 MyBatis环境的构建 81
6.3 MyBatis的工作原理 81
6.4 使用Eclipse开发MyBatis入门程序 83
6.5 MyBatis与Spring的整合 87
6.5.1 导入相关JAR包 88
6.5.2 在Spring中配置MyBatis工厂 88
6.5.3 使用Spring管理MyBatis的数据操作接口 89
6.5.4 框架整合示例 89
6.6 使用MyBatis Generator插件自动生成映射文件 94
6.7 本章小结 96
习题6 97
第7章 映射器 98
7.1 MyBatis配置文件概述 98
7.2 映射器概述 99
7.3 <select>元素 100
7.3.1 使用Map接口传递多个参数 100
7.3.2 使用Java Bean传递多个参数 101
7.4 <insert>元素 102
7.4.1 主键(自动递增)回填 103
7.4.2 自定义主键 103
7.5 <update>与<delete>元素 104
7.6 <sql>元素 104
7.7 <resultMap>元素 104
7.7.1 <resultMap>元素的结构 104
7.7.2 使用Map存储结果集 105
7.7.3 使用POJO存储结果集 106
7.8 级联查询 107
7.8.1 一对一级联查询 107
7.8.2 一对多级联查询 113
7.8.3 多对多级联查询 117
7.9 本章小结 120
习题7 121
第8章 动态SQL 122
8.1 <if>元素 122
8.2 <choose>、<when>、<otherwise>元素 123
8.3 <trim>、<where>、<set>元素 124
8.3.1 <trim>元素 124
8.3.2 <where>元素 125
8.3.3 <set>元素 126
8.4 <foreach>元素 127
8.5 <bind>元素 128
8.6 本章小结 129
习题8 129
第3部分 Spring MVC 132
第9章 Spring MVC入门 132
9.1 MVC模式与Spring MVC工作原理 132
9.1.1 MVC模式 132
9.1.2 Spring MVC工作原理 133
9.1.3 Spring MVC接口 134
9.2 第一个Spring MVC应用 134
9.2.1 创建Web应用并引入JAR包 135
9.2.2 在web.xml文件中部署DispatcherServlet 135
9.2.3 创建Web应用首页 136
9.2.4 创建Controller类 136
9.2.5 创建Spring MVC配置文件并配置Controller映射信息 137
9.2.6 应用的其他页面 138
9.2.7 发布并运行Spring MVC应用 138
9.3 视图解析器 139
9.4 本章小结 139
习题9 139
第10章 Spring MVC的Controller 140
10.1 基于注解的控制器 140
10.1.1 Controller注解类型 141
10.1.2 RequestMapping注解类型 142
10.1.3 编写请求处理方法 143
10.2 Controller接收请求参数的常见方式 144
10.2.1 通过实体Bean接收请求参数 144
10.2.2 通过处理方法的形参接收请求参数 149
10.2.3 通过HttpServletRequest接收请求参数 149
10.2.4 通过@PathVariable接收URL中的请求参数 150
10.2.5 通过@RequestParam接收请求参数 151
10.2.6 通过@ModelAttribute接收请求参数 151
10.3 重定向与转发 152
10.4 应用@Autowired进行依赖注入 153
10.5 @ModelAttribute 156
10.6 本章小结 157
习题10 157
第11章 类型转换和格式化 158
11.1 类型转换的意义 158
11.2 Converter 160
11.2.1 内置的类型转换器 160
11.2.2 自定义类型转换器 162
11.3 Formatter 165
11.3.1 内置的格式化转换器 165
11.3.2 自定义格式化转换器 165
11.4 本章小结 169
习题11 169
第12章 数据绑定和表单标签库 170
12.1 数据绑定 170
12.2 表单标签库 170
12.2.1 表单标签 171
12.2.2 input标签 172
12.2.3 password标签 172
12.2.4 hidden标签 172
12.2.5 textarea标签 172
12.2.6 checkbox标签 173
12.2.7 checkboxes标签 173
12.2.8 radiobutton标签 173
12.2.9 radiobuttons标签 174
12.2.10 select标签 174
12.2.11 options标签 174
12.2.12 errors标签 174
12.3 数据绑定的应用 175
12.3.1 应用的相关配置 175
12.3.2 领域模型 176
12.3.3 Service层 177
12.3.4 Controller层 177
12.3.5 View层 179
12.3.6 测试应用 182
12.4 JSON数据交互 183
12.4.1 JSON概述 183
12.4.2 JSON数据转换 184
12.5 本章小结 189
习题12 189
第13章 拦截器 190
13.1 拦截器概述 190
13.1.1 拦截器的定义 190
13.1.2 拦截器的配置 191
13.2 拦截器的执行流程 192
13.2.1 单个拦截器的执行流程 192
13.2.2 多个拦截器的执行流程 195
13.3 应用案例——用户登录权限验证 197
13.4 本章小结 202
习题13 202
第14章 数据验证 203
14.1 数据验证概述 203
14.1.1 客户端验证 203
14.1.2 服务器端验证 204
14.2 Spring验证器 204
14.2.1 Validator接口 204
14.2.2 ValidationUtils类 205
14.2.3 验证示例 205
14.3 JSR 303验证 213
14.3.1 JSR 303验证配置 213
14.3.2 标注类型 214
14.3.3 验证示例 215
14.4 本章小结 219
习题14 219
第15章 国际化 220
15.1 程序国际化概述 220
15.1.1 Java国际化的思想 220
15.1.2 Java支持的语言和国家 221
15.1.3 Java程序的国际化 222
15.1.4 带占位符的国际化信息 223
15.2 Spring MVC的国际化 224
15.2.1 Spring MVC加载资源属性文件 224
15.2.2 语言区域的选择 225
15.2.3 使用message标签显示国际化信息 225
15.3 用户自定义切换语言示例 226
15.4 本章小结 231
习题15 231
第16章 统一异常处理 232
16.1 示例介绍 232
16.2 SimpleMappingExceptionResolver类 239
16.3 HandlerExceptionResolver接口 240
16.4 @ExceptionHandler注解 242
16.5 本章小结 243
习题16 243
第17章 文件的上传和下载 244
17.1 文件上传 244
17.1.1 commons-fileupload组件 244
17.1.2 基于表单的文件上传 245
17.1.3 MultipartFile接口 245
17.1.4 单文件上传 246
17.1.5 多文件上传 250
17.2 文件下载 253
17.2.1 文件下载的实现方法 253
17.2.2 文件下载的过程 253
17.3 本章小结 257
习题17 257
第18章 EL与JSTL 258
18.1 表达式语言 258
18.1.1 基本语法 258
18.1.2 EL隐含对象 260
18.2 JSP标准标签库 263
18.2.1 配置JSTL 263
18.2.2 核心标签库之通用标签 264
18.2.3 核心标签库之流程控制标签 265
18.2.4 核心标签库之迭代标签 267
18.2.5 函数标签库 269
18.3 本章小结 272
习题18 272
第4部分 SSM框架 274
第19章 SSM框架整合 274
19.1 SSM框架整合所需JAR包 274
19.2 SSM框架整合应用测试 275
19.3 本章小结 283
习题19 283
第20章 电子商务平台的设计与实现 284
20.1 系统设计 284
20.1.1 系统功能需求 284
20.1.2 系统模块划分 285
20.2 数据库设计 286
20.2.1 数据库概念结构设计 286
20.2.2 数据库逻辑结构设计 286
20.2.3 创建数据表 289
20.3 系统管理 289
20.3.1 导入相关的JAR包 289
20.3.2 JSP页面管理 289
20.3.3 应用的目录结构 294
20.3.4 配置文件管理 294
20.4 组件设计 299
20.4.1 管理员登录权限验证 299
20.4.2 前台用户登录权限验证 300
20.4.3 验证码 301
20.4.4 统一异常处理 303
20.4.5 工具类 304
20.5 后台管理子系统的实现 305
20.5.1 管理员登录 305
20.5.2 类型管理 307
20.5.3 添加商品 312
20.5.4 查询商品 316
20.5.5 修改商品 321
20.5.6 删除商品 322
20.5.7 订单管理 325
20.5.8 用户管理 327
20.5.9 公告管理 327
20.5.10 退出系统 328
20.6 前台电子商务子系统的实现 329
20.6.1 导航栏 329
20.6.2 销售排行 334
20.6.3 人气排行 334
20.6.4 最新商品 334
20.6.5 公告栏 334
20.6.6 用户注册 334
20.6.7 用户登录 336
20.6.8 商品详情 337
20.6.9 关注商品 339
20.6.10 购物车 340
20.6.11 下单 346
20.6.12 用户中心 349
20.7 本章小结 351
附录A 项目案例——基于SSM的邮件管理系统 352
附录B 项目案例——基于SSM的人事管理系统 353
参考文献 354