Spring-MVC-工作原理和流程
目录
Spring MVC 工作原理和流程
SpringMVC
对传统的MVC做了扩展,将
model
层分为了业务模型
Service
和数据模型
Repository
工作原理
前端的请求会首先进过
DispatcherServlet
前端调度器 ,这个组件是整个MVC的核心调度组件,所有请求都经过它的处理和分发。然后 调度器 会将路径传递给
HandlerMapping
,它维护了一个从 URL到具体处理器对象的映射关系 , 相当于指南 ,查询当前请求需要被Controller
层哪个具体的方法执行,将处理链返回,处理链中包括拦截器前端调度器接受到调用链,会先执行调用链中的拦截器方法,然后 将请求参数传递给适配器
HanderAdaptor
HanderAdaptor
作用就是处理请求参数和响应数据,转化和封装- 具体就是是选择合适的适配器 :
- 对于传统控制器
Controller
,DispatcherServlet
会选择 方法适配器 。 - 对于
函数式控制器
,
DispatcherServlet
会选择 能够处理函数式路由 的适配器。
HanderAdaptor
会将封装好的参数传入处理器
,即Controller的具体方法中, 执行并返回 ,这里如果有拦截器,还会执行它的后置方法如果是前后端不分离的,那么就先将响应数据传递到视图解析器 ViewResovler 解析视图,呈现数据给用户。
如果是前后端分离项目,后端直接通过
DispatherSevlet
返回JSON数据给前端,就不需要视图解析器!