SpringMVC执行原理
虚线部分为自己需要写的部分。
实线部分为SpringMVC已经写好的部分。
第一部分
1.用户发出一个请求
2.DispatcherServler调用处理器映射(HandlerMapping),处理器映射根据url查找处理器Handler
3.HandlerExecution是具体的处理器Handler,根据url查找相应的控制器
4.HandlerExecution将解析后的信息传回DispatcherServlet
第二部分
5.DispatcherServlet调用处理器适配器(HandlerAdapter),按照特定的规则去执行Handler
6.Handler让具体的Controller去执行
7.Controller将具体的执行信息返回给HandlerAdapter,如ModelAndView
8.HandlerAdapter将视图逻辑名或模型传递给DispatcherServlet
第三部分
9.DispatcherServlet调用视图解析器(ViewResolver)来解析HandlerAdapter传递来的视图逻辑名
10.ViewResolver将解析的视图逻辑名传回给DispatcherServlet
11.DispatcherServlet根据ViewResolver解析的视图结果,调用具体的视图
12.最终将视图呈现给用户
补充
1.视图解析器解析ModelAndView工作:
(1)获取了ModelAndView的数据
(2)解析ModelAndView的视图名
(3)拼接视图名字找到对应的视图
(4)将数据渲染到视图上
2.我们的任务:
(1)Controller层调用Service层
(2)设置视图返回的名字