Spring MVC 将请求的处理和响应流程抽取成了一系列的组件,通过核心的 DispatchServlet 组件协调其它组件共同完成请求的处理和响应流程。
首先前端控制器会接收所有的请求,然后处理器映射器会获取到一个包含拦截器和控制器的执行器链,接着由处理器适配器进行适配,紧接着就调用具体的控制器方法,控制器返回一个模型和视图对象,将这个模型和视图对象交予视图解析器渲染静态页面,最终前端控制器返回这个页面给前端。如果使用了 @RestController 注解或者 @ResponseBody 注解,将不会走模型和视图对象及后续流程,而是由前端控制器直接响应 JSON 格式数据给浏览器。