"小崔,你知道为什么Spring MVC能成为Java Web开发的事实标准吗?"白歌在架构评审会上问道,"因为它把复杂的Web请求处理流程,抽象成了一组清晰协作的组件。理解这套体系,是你从'写代码'走向'设计系统'的第一步。"
——白歌,飞翔科技架构师
本章导读:Spring MVC概述与DispatcherServlet
本章定位
本章解决的核心问题:Spring MVC是什么,以及一个HTTP请求进入Spring应用后,是如何被DispatcherServlet调度到正确的处理器并返回响应的。
学习路线图
学习建议:按从左到右的顺序阅读。先建立"是什么"的认知,再理解"为什么这样设计",最后聚焦"入口核心DispatcherServlet如何工作"。
文件关系说明
| 文件 | 一句话角色 |
|---|---|
Spring MVC是什么.md | 建立全局认知:Spring MVC在Spring生态中的位置、与Spring Boot的关系、适用场景。 |
MVC设计模式.md | 追溯设计根源:Model-View-Controller三层职责划分,理解Spring MVC如何遵循这一经典模式。 |
前端控制器模式.md | 揭示架构选择:为什么Spring MVC选择Front Controller而非Page Controller,这是理解DispatcherServlet存在意义的关键。 |
核心组件协作.md | 绘制协作全景:HandlerMapping、HandlerAdapter、ViewResolver等核心组件如何围绕DispatcherServlet协同工作。 |
DispatcherServlet.md | 聚焦入口核心:深入DispatcherServlet的初始化流程、doDispatch方法执行链,以及Spring Boot中的自动配置机制。 |
知识图谱
图谱解读:所有请求统一由DispatcherServlet(前端控制器)接收,它通过HandlerMapping找到处理器,通过HandlerAdapter执行处理器,最终通过ViewResolver解析视图或直接将数据写入响应。MVC设计模式是理论根基,前端控制器模式是架构选择。
与下一章的衔接
本章学完后,你已经理解了"请求如何进入系统并被分发"。下一章将解决"请求如何被映射到具体的控制器方法"——你将学习@Controller、@RestController、@RequestMapping及其派生注解,掌握RESTful风格的URL设计与请求映射原理,这是从"看懂框架"到"写出接口"的关键一跃。