由于接触springboot时间过短,面试官经常会说那你聊聊springMVC吧,说说他的工作流程。。。
这次我看了视频和资料,再加上自己的理解总结了一下。
springMVC首先看到的是MVC,那么什么是MVC呢?
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。MVC的流程如下:
mvc流程图
springmvc架构包装了mvc,使其角色清晰,分工明确,并且能够和其他Spring框架无缝集成。
话不多说 直接上图!(如有失误请指出,谢谢~)
springmvc工作流程
总结:
(1)客户端请求提交到前端控制器DispatcherServlet;
(2)前端控制器DispatcherServlet查找一个或者多个映射处理器HandlerMapping,从而确定调用哪个页面控制器Controller对请求进行处理;
(3)DispatcherServlet将请求提交给处理器适配器HandlerAdapter执行Handler(也就是说 controller);
(4)Controller根据业务逻辑对请求进行处理,并返回ModelAndView;
(5)DispatcherServlet查找一个或者多个ViewResolver,得到ModelAndView指定的视图view,并将model中的数据传入视图view中进行渲染;
(6)DispatcherServlet将渲染后的视图返回响应;