SpringMVC也算是耳熟能详了,但难免有时候会忘记吧!我就忘记过,而且还是面试的时候,被问到这个都没答出来,当时就十分懊恼,日常还是忽略了这些,只能说自己还不是烂熟于心吧!不然怎么会忘呢?于是有了这篇文章,就为了复习吧!主要也是参考网上的博文,图片上有博主的水印,这里就没贴链接(被我忘了,我当时觉得写的挺好就将部分内容摘录了下来!)。
流程图:
具体流程:
1)用户发送请求至前端控制器 DispatcherServlet。
2)DispatcherServlet 收到请求调用 HandlerMapping 处理器映射器。
3) 处理器映射器根据请求 url 找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给 DispatcherServlet。
4) DispatcherServlet 通过 HandlerAdapter 处理器适配器调用处理器。
5) HandlerAdapter 执行处理器(handler,也叫后端控制器)。
6) Controller 执行完成返回 ModelAndView。
7) HandlerAdapter 将 handler 执行结果 ModelAndView 返回给 DispatcherServlet。
8) DispatcherServlet 将 ModelAndView 传给 ViewReslover 视图解析器。
9) ViewReslover 解析后返回具体 View 对象。
10) DispatcherServlet 对 View 进行渲染视图(即将模型数据填充至视图中)。
11) DispatcherServlet 响应用户。