基于Spring 4.2.5官方文档,现在MVC部分已经翻译完毕。
- 截至2018.5.11,Spring 4 的中文版官方文档已经很多了,请大家可以多对比参考
- 本人找到的其他翻译版本,参考以下链接:
https://legacy.gitbook.com/book/linesh/spring-mvc-documentation-linesh-translation/details
https://www.w3cschool.cn/spring_mvc_documentation_linesh_translation/
阅读说明:
1.本翻译为全文翻译,包括所有tips,图片内英文,和代码内注释。阅读本文,需要有Java语言基础,JSP&Servlet基础,了解设计模式,和计算机网络知识。
2.对于一些需要在实际使用中经常用到并且牢牢记住的名词,或是需要留下原词给需要的读者自己去理解的时候,我在文章中保留了原词,并在原词后以括号中加入解释。
3.本人水平有限,如果有任何建议和意见,欢迎提出。
导航目录:
第六部分 Web技术
第21章 Web MVC框架
21.1 Spring Web MVC框架介绍
- Spring Web MVC框架介绍
- Spring Web MVC的特点
- 与其他MVC实现技术结合的可插拔性
21.2 Servlet分发器(DispatcherServlet)(上)
- DispatcherServlet原理
- DispatcherServlet基本配置
21.2 Servlet分发器(DispatcherServlet)(下)
- 在WebApplicationContext中一些特别的bean类型
- 默认的DispatcherServlet配置
- DispatcherServlet的处理顺序
21.3 Controller(控制器)的实现(1)
- Controller介绍
- 以@Controller注解来定义一个controller控制器
- 运用@RequestMapping注解映射Request请求
21.3 Controller(控制器)的实现(2)
- @Controller与AOP代理
- 支持@RequestMapping方法的新类
- URI(统一资源标识符)模板模式
- 正则表达式的URI模板模式
- 路径模式
- 路径模式对比
21.3 Controller(控制器)的实现(3)
- 使用Placeholder(占位符)的路径模式
- 后缀模式匹配
- 后缀匹配模式与RFD(反射型文件下载)
- 矩阵变量
21.3 Controller(控制器)的实现(4)
- Consumable Media Types(消耗型媒体类型)
- Producible Media Types(生产型媒体类型)
- 请求参数和报头值
- 定义@RequestMapping处理器方法
- @RequestMapping支持的方法参数类型
21.3 Controller(控制器)的实现(5)
- @RequestMapping支持的方法返回参数类型
- 使用@RequestParam把请求参数绑定到方法参数上
- 使用@RequestBody映射请求主体
- 使用@ResponseBody映射响应主体
21.3 Controller(控制器)的实现(6)
- 使用@RestController注解创建REST的控制器
- 使用HttpEntity
- 在方法上使用@ModelAttribute
- 在方法入参中使用@ModelAttribute
21.3 Controller(控制器)的实现(7)
- 使用@SessionAttributes储存请求中HTTP session的模型属性
- 处理带有”application/x-www-form-urlencoded”的数据
- 使用@CookieValue映射cookie值
- 使用@RequestHeader映射请求报头属性
- 方法参数与类型转换
21.3 Controller(控制器)的实现(8)
- 自定义WebDataBinder的初始化
- 使用@InitBinder自定义数据绑定
- 配置一个自定义的WebBindingInitializer
- 使用@ControllerAdvice对controller做advice(横切通知)
- Jackson 序列化视图的支持
- Jackson JSONP支持
21.3 Controller(控制器)的实现(9)
- 异步请求处理介绍
- 异步请求处理原理
- 异步请求处理顺序
- 异步请求的异常处理
- 拦截异步请求
21.3 Controller(控制器)的实现(10)
- HTTP流
- Server-Sent Events(服务器端发送事件)的HTTP流
- HTTP流直接写到OutputStream中
- 配置异步的请求处理,Servlet容器配置
- Spring MVC配置
- 21.3.5 测试控制器
21.4 处理器映射
- 处理器映射属性
- 拦截器的配置
- 使用HandlerInterceptor拦截请求
21.5 视图的解析(1)
- 使用ViewResolver接口进行视图解析
- 视图解析器种类
- 视图解析器配置
21.5 视图的解析(2)
- 串联多个ViewResolver
- 视图的Redirect(重定向)
- RedirectView
21.5 视图的解析(3)
- 把数据传输到重定向目标
- “redirect: ”前缀
- “forward: ”前缀
21.5 视图的解析(4)
- ContentNegotiatingViewResolver(内容协商视图解析器)
- 视图解析器的配置示例
21.6 使用flash属性
- 使用flash attribute(flash属性)
- 请求与flash属性的匹配
21.7 URI的组建
- URI的组建
- 组建连接到controller和方法的URI
- 在视图中组建连接到controller和方法中的URI
21.8 地区(locale)的使用
- 获取时区信息
- AcceptHeaderLocaleResolver(accept报头地区解析器)
- CookieLocaleResolver(cookie地区解析器)
- SessionLocaleResolver(session地区解析器)
- LocaleChangeInterceptor(地区变换拦截器)
21.9 主题(theme)的使用
- 主题概况
- 定义主题
- 主题解析器
21.10 Spring的multipart (文件上传)支持
- 基于Commons FileUpload的MultipartResolver(多部件解析器)
- 基于Servlet3.0的MultipartResolver(多部件解析器)
- 在表单中处理文件上传
- 在编程式客户端中处理文件上传请求
21.11 异常的处理
- HandlerExceptionResolver(处理器异常解析器)
- @ExceptionHandler
- Spring MVC 标准异常的处理
- 使用@ResponseStatus来注解业务异常
- 自定义Servlet容器默认的错误页面
21.12 Web安全
- Web安全
21.13 “约定优先于配置“的支持
- 21.13.1 ControllerClassNameHandlerMapping控制器
- 21.13.2 ModelMap模型(ModelAndView)
- 21.13.3 关于RequestToViewNameTranslator视图
21.14 HTTP缓存支持
- 21.14.1 HTTP报头:Cache-Control
- 21.14.2 支持静态资源的HTTP缓存
- 21.14.3 在Controller中支持Cache-Control,ETag和Last-Modified响应报头
- 21.14.4 Shallow Etag的支持
21.15 基于代码的Servlet容器初始化
21.16 Spring MVC的配置
- 21.16.1 启用MVC Java Config或MVC XML Namespace
- 21.16.2 对提供的配置进行定制
- 21.16.3 转换与格式化
- 21.16.4 验证
- 21.16.5 拦截器
- 21.16.6 Content Negotiation(内容协商)
- 21.16.7 View Controllers(视图控制器)
- 21.16.8 View Resolvers(视图解析器)
- 21.16.9 资源的提供
- 21.16.10 回到默认的Servlet来提供资源
- 21.16.11 路径匹配
- 21.16.12 MessageConverters(消息转换器)
- 21.16.13 使用MVC Java Config进行进阶定制
- 21.16.14 使用MVC namespace进行进阶定制