乐途乐途
主页
  • 计算机基础

    • TCP/IP协议
    • Linux命令
    • HTTP协议
  • 数据库

    • SQL
    • MySQL 5.7
  • 编程语言

    • C语言
    • Python2
    • Python3
  • 数据格式

    • JSON
    • XML
  • 认证与安全

    • JWT
  • 工具

    • Markdown
  • Git

    • GitFlow
  • Quartz

    • Quartz
  • Java

    • MyBatis
    • Spring
    • Spring MVC
    • Maven 入门
    • Maven 进阶
    • Java 设计模式
  • 缓存

    • Redis
联系
阿里云
主页
  • 计算机基础

    • TCP/IP协议
    • Linux命令
    • HTTP协议
  • 数据库

    • SQL
    • MySQL 5.7
  • 编程语言

    • C语言
    • Python2
    • Python3
  • 数据格式

    • JSON
    • XML
  • 认证与安全

    • JWT
  • 工具

    • Markdown
  • Git

    • GitFlow
  • Quartz

    • Quartz
  • Java

    • MyBatis
    • Spring
    • Spring MVC
    • Maven 入门
    • Maven 进阶
    • Java 设计模式
  • 缓存

    • Redis
联系
阿里云
  • 学习路径
  • 第1章 SpringMVC概述与DispatcherServlet

    • 本章导读:Spring MVC概述与DispatcherServlet
    • Spring MVC 是什么
    • MVC 设计模式
    • 前端控制器模式
    • DispatcherServlet
    • 核心组件协作
  • 第2章 控制器与请求映射

    • 本章导读:控制器与请求映射
    • Controller
    • RestController
    • RequestMapping
    • GetMapping
    • PostMapping
    • PutMapping
    • DeleteMapping
    • PathVariable
    • RESTful
    • 请求映射原理
  • 第3章 请求参数获取与转换

    • 本章导读:请求参数获取与转换
    • RequestParam
    • RequestBody
    • RequestHeader
    • CookieValue
    • Model
    • ModelAttribute
    • 数据绑定原理
    • 数据校验
  • 第4章 响应数据与视图解析

    • 本章导读:响应数据与视图解析
    • ResponseBody
    • ResponseEntity
    • ModelAndView
    • ViewResolver
    • HttpMessageConverter
    • forward与redirect
  • 第5章 拦截器过滤器与跨域

    • 本章导读:拦截器、过滤器与跨域
    • HandlerInterceptor
    • WebMvcConfigurer
    • CrossOrigin
    • 登录验证实战
  • 第6章 文件上传与异常处理

    • 本章导读:文件上传与异常处理
    • MultipartFile
    • 文件下载
    • ExceptionHandler
    • ControllerAdvice
    • RestControllerAdvice
    • ResponseStatus
  • 第7章 高级特性与最佳实践

    • 本章导读:高级特性与最佳实践
    • SessionAttributes
    • SessionAttribute
    • RedirectAttributes
    • MockMvc测试
    • 国际化
    • 最佳实践
  • 第8章 扩展与异步机制

    • 本章导读:扩展与异步机制
    • 异步请求处理
    • 自定义参数解析器
    • 内容协商

"黄俪说接口返回的JSON格式不对,小崔查了半天发现是HttpMessageConverter配置的问题。"李眉在运维日志里发现了异常,"响应是前后端交互的最后一公里,如果这一公里出了问题,前面所有的业务逻辑都白写了。"

——李眉,飞翔科技运维工程师

本章导读:响应数据与视图解析

本章定位

本章解决的核心问题:控制器方法处理完业务逻辑后,如何将结果以正确的格式(JSON/XML/HTML)返回给客户端,以及如何控制页面跳转行为。

学习路线图

学习建议:先理解HttpMessageConverter这个"幕后英雄"(它决定了数据如何序列化),再学习@ResponseBody和ResponseEntity两种显式响应方式,然后转向视图渲染链路(ViewResolver → ModelAndView),最后掌握页面跳转的两种机制。

文件关系说明

文件一句话角色
HttpMessageConverter.md序列化引擎:Spring MVC如何将Java对象转换为HTTP响应体中的JSON/XML/字节流,以及内容协商的底层支撑。
ResponseBody.md数据直返:@ResponseBody如何标记方法返回值直接写入响应体,RESTful API开发中最常用的响应方式。
ResponseEntity.md完整控制:封装响应体、状态码、响应头的完整HTTP响应对象,实现对响应的精细化控制。
ViewResolver.md视图定位:根据逻辑视图名解析为实际视图资源(Thymeleaf/JSP等),传统服务端渲染的核心组件。
ModelAndView.md视图+数据:同时携带模型数据和视图信息的返回对象,理解它在视图渲染链路中的枢纽作用。
forward与redirect.md跳转机制:服务器内部转发与客户端重定向的区别、使用场景与URL行为差异,页面跳转的必知必会。

知识图谱

图谱解读:控制器方法的返回值走向两条分支:被@ResponseBody或ResponseEntity标记的,经由HttpMessageConverter序列化为数据响应;返回字符串或ModelAndView的,经由ViewResolver解析为视图并渲染。forward和redirect则控制了视图渲染后的页面跳转行为,前者是服务器内部转发,后者是客户端重定向。

与下一章的衔接

本章学完了"请求-处理-响应"的完整闭环。下一章(06章)将解决"如何在请求处理链路中插入横切逻辑"——你将学习拦截器(HandlerInterceptor)和跨域配置(@CrossOrigin),掌握请求预处理、后处理和登录验证实战,这是从"实现功能"到"保障安全与可扩展性"的进阶。

下一页
ResponseBody