描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787115447586
W e b 应用开始, 到将其部署到云中。首先, 我们会使用
Spring Tool Suite和Spring Boot生成自己的Spring项目。
在开发高级的交互应用时,涉及处理文件上传和复杂的URL,
此时我们会深入研究Spring MVC的内部运行原理以及现代
Web架构的理念。随后,我们将会测试、保护和优化Spring
Web应用,并且还会设计可由前端访问的RESTful服务。zui
后,所有的事情都已准备就绪,我们会将应用部署到云提供商
的服务上,邀请所有的人来访问它 。
本书适合已经熟悉Spring编程基础知识并迫切希望扩展
其Web技能的开发人员阅读。
通过本书,你将学会:
■ 使用Spring Boot和Spring Tool Suite搭
建自己的Web应用;
■ 探索Spring MVC的架构,了解在视图间实
现导航的不同工具;
■ 设计复杂的高级表单并对模型进行校验;
■ 创建RESTful应用,实现有意义的API,其
中会带有相关的错误信息;
■ 创建可维护的单元测试和验收测试;
■ 保护应用,同时支持可扩展;
■ 通过缓存、ET a g s和异步响应来优化请
求;
■ 将应用部署到云中。
在精通Spring MVC4中,我们将会从头开始构建一个有用的Web应用。本书共计10章,分别介绍了快速搭建Spring Web应用、精通MVC结构、URL映射、文件上传与错误处理、创建Restful应用、保护应用、单元测试与验收测试、优化请求、将Web应用部署到云等内容,循序渐进地讲解了Spring MVC4的开发技巧。
精通Spring MVC4zui适合已经熟悉Spring编程基础知识并迫切希望扩展其Web技能的开发人员。通过阅读本书,读者将深度把握Spring MVC的各项特性及实用技巧。
目录
第1章 快速搭建Spring Web应用 1
1.1 Spring Tool Suite简介 2
1.2 IntelliJ简介 7
1.3 start.Spring.io简介 8
1.4 命令行方式简介 8
1.5 那就正式开始吧 9
1.5.1 Gradle构建 11
1.5.2 让我们看一下代码 15
1.6 幕后的Spring Boot 17
1.6.1 分发器和multipart配置 17
1.6.2 视图解析器、静态资源以及
区域配置 22
1.7 错误与转码配置 24
1.8 嵌入式Servlet容器(Tomcat)的
配置 27
1.8.1 HTTP端口 29
1.8.2 SSL配置 29
1.8.3 其他配置 29
1.9 小结 30
第2章 精通MVC架构 32
2.1 MVC架构 32
2.2 对MVC的质疑及其实践 33
2.2.1 贫血的领域模型 33
2.2.2 从源码中学习 35
2.3 Spring MVC 1-0-1 35
2.4 使用Thymeleaf 36
2.5 Spring MVC架构 40
2.5.1 DispatcherServlet 40
2.5.2 将数据传递到给视图 41
2.6 Spring表达式语言 42
2.7 结束Hello World,开始获取
Tweet 44
2.7.1 注册应用 44
2.7.2 搭建Spring Social Twitter 46
2.7.3 访问Twitter 46
2.8 Java 8的流和lambda表达式 48
2.9 使用WebJars实现质感设计 49
2.9.1 使用布局 52
2.9.2 导航 54
2.10 检查点 59
2.11 小节 59
第3章 处理表单和复杂的URL映射 60
3.1 基本信息页——表单 60
3.2 校验 68
3.2.1 自定义校验信息 70
3.2.2 用于校验的自定义注解 73
3.3 国际化 74
3.3.1 修改地域 76
3.3.2 翻译应用的文本 79
3.3.3 表单中的列表 81
3.4 客户端校验 84
3.5 检查点 86
3.6 小结 87
第4章 文件上传与错误处理 88
4.1 上传文件 88
4.1.1 将图片写入到响应中 93
4.1.2 管理上传属性 94
4.1.3 展现上传的图片 97
4.1.4 处理文件上传的错误 99
4.2 转换错误信息 102
4.3 将基本信息放到会话中 103
4.4 自定义错误页面 107
4.5 使用矩阵变量进行URL映射 108
4.6 将其组合起来 114
4.7 检查点 121
4.8 小结 122
第5章 创建RESTful应用 123
5.1 什么是REST 123
5.2 Richardson的成熟度模型 124
5.2.1 第0级——HTTP 124
5.2.2 第1级——资源 124
5.2.3 第2级——HTTP动作 124
5.2.4 第3级——超媒体控制 126
5.3 API版本化 127
5.4 有用的HTTP代码 127
5.5 客户端为王 128
5.6 调试RESTful API 130
5.6.1 JSON格式化扩展 130
5.6.2 浏览器中的RESTful
客户端 130
5.6.3 httpie 131
5.7 自定义JSON输出 131
5.8 用户管理API 136
5.9 状态码与异常处理 140
5.9.1 带有状态码的
ResponseEntity 140
5.9.2 使用异常来处理状态码 142
5.10 通过Swagger实现文档化 146
5.11 生成XML 148
5.12 检查点 149
5.13 小结 150
第6章 保护应用 151
6.1 基本认证 151
6.1.1 用户授权 152
6.1.2 URL授权 155
6.1.3 Thymeleaf安全标签 156
6.2 登录表单 158
6.3 Twitter认证 163
6.3.1 搭建社交认证环境 164
6.3.2 详解 167
6.4 分布式会话 169
6.5 SSL 171
6.5.1 生成自签名的证书 172
6.5.2 单一模式 173
6.5.3 双通道模式 173
6.5.4 置于安全的服务器之后 174
6.6 检查点 175
6.7 小结 175
第7章 不要心存侥幸——单元测试与
验收测试 176
7.1 为什么要测试我的代码 176
7.2 该如何测试自己的代码 177
7.3 测试驱动开发 178
7.4 单元测试 179
7.5 验收测试 180
7.6 个单元测试 180
7.7 Mock与Stub 184
7.7.1 使用Mockito进行mock 184
7.7.2 在测试时Stub bean 186
7.7.3 该使用Mock还是Stub 189
7.8 对REST控制器进行单元
测试 189
7.9 测试认证 196
7.10 编写验收测试 198
7.10.1 Gradle配置 198
7.10.2 个FluentLenium
测试 200
7.10.3 使用FluentLenium创建
页面对象 206
7.10.4 用Groovy实现测试 209
7.10.5 使用Spock进行单元
测试 210
7.10.6 使用Geb进行集成测试 213
7.10.7 在Geb中使用页面对象 215
7.11 检查点 218
7.12 小结 220
第8章 优化请求 221
8.1 生产环境的profile 221
8.2 Gzip 222
8.3 缓存控制 222
8.4 应用缓存 224
8.4.1 缓存失效 229
8.4.2 分布式缓存 230
8.5 异步方法 231
8.6 ETag 237
8.7 WebSocket 241
8.8 检查点 244
8.9 小结 245
第9章 将Web应用部署到云中 246
9.1 选择主机 246
9.1.1 Cloud Foundry 246
9.1.2 OpenShift 247
9.1.3 Heroku 248
9.2 将Web应用部署到Pivotal Web
Services中 248
9.2.1 安装Cloud Foundry CLI
工具 248
9.2.2 装配应用 249
9.2.3 激活Redis 252
9.3 将Web应用部署到
Heroku中 253
9.3.1 安装工具 254
9.3.2 搭建应用 255
9.3.3 Heroku profile 256
9.3.4 运行应用 257
9.3.5 激活Redis 258
9.4 改善应用的功能 260
9.5 小结 261
第10章 超越Spring Web 262
10.1 Spring生态系统 262
10.1.1 核心 263
10.1.2 执行 263
10.1.3 数据 263
10.1.4 其他值得关注的项目 264
10.2 部署 264
10.3 单页面应用 265
10.3.1 参与者 265
10.3.2 未来的前景 266
10.3.3 实现无状态 267
10.4 小结 267
评论
还没有评论。