Spring Web MVC 是基于 Servlet API 构建的 Web 框架,从一开始就包含在 Spring Framework 中。它的正式名来自源模块 spring-webmvc,通常被简称为 Spring MVC。要理解 Spring MVC,先得搞清楚 MVC 本身。
MVC 与 Spring MVC
MVC 是 Model-View-Controller 的缩写,一种软件架构模式,把系统拆成模型、视图、控制器三部分。

- View(视图):负责展示数据,与浏览器直接交互。
- Model(模型):处理数据逻辑,是应用的核心。
- Controller(控制器):分发请求,决定用哪个模型处理,处理完跳转到哪个视图。
拿餐厅类比:服务员(View)接待点餐,前厅(Controller)把菜单交给后厨并指定回哪个桌,后厨(Model)负责做菜。
Spring MVC 是 MVC 思想的一个具体实现,同时也是一个 Web 框架。它的官方描述:"Build web, including RESTful, applications using Spring MVC. Uses Apache Tomcat as the default embedded container." 在创建 Spring Boot 项目时勾选 Spring Web,实际上引入的就是 Spring MVC。

Spring Boot 本身只是一个快速构建项目的手段,而 Spring MVC 是通过依赖被集成进去的,核心就在这个 starter:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
在 Spring MVC 的实现中,Controller 负责接收用户请求,这和标准 MVC 略有差异。

当前端分离时代,后端不再直接返回视图页面,而是返回数据(比如 JSON),View 层的含义也就变成了'返回视图所需的数据'。































