具体流程如下所示:
-
用户发送出请求到前端控制器
DispatcherServlet
。 -
DispatcherServlet
收到请求调用HandlerMapping
(处理器映射器)。 -
HandlerMapping
找到具体的处理器(可查找 xml 配置或注解配置),生成处理器对象及处理器拦截器(如果有),再一起返回给DispatcherServlet
。 -
DispatcherServlet
调用HandlerAdapter
(处理器适配器)。 -
HandlerAdapter
经过适配调用具体的处理器(Handler / Controller)。 -
Controller 执行完成返回
ModelAndView
对象。 -
HandlerAdapter
将 Controller 执行结果ModelAndView
返回给DispatcherServlet
。 -
DispatcherServlet
将ModelAndView
传给ViewReslover
(视图解析器)。 -
ViewReslover
解析后返回具体 View(视图)。 -
DispatcherServlet
根据 View 进行渲染视图(即将模型数据填充至视图中)。 -
DispatcherServlet
响应用户。