组件解析
SpringMVC底层的组件是如何进行实现的,我们需要对组件进行解析
在SpringMVC框架的内部,很多功能都由对应的组件帮助我们去完成(组件间分工明确)
SpringMVC的执行流程图:

- 用户发送请求至前端控制器
DispatcherServlet(该前端控制器主要负责调度,进行相应的组件调用) DispatcherServlet收到请求调用HandlerMapping处理器映射器(该组件用于找资源,解析资源,对请求进行解析,最终具体找哪个,返回处理器执行链,返回的是一串资源的地址,内部封装了具体资源执行的顺序)- 处理器映射器找到具体的处理器(可以根据
xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet DispatcherServlet调用HandlerAdapter处理器适配器(前端控制器拿到返回的处理器执行链后,调用处理器适配器,让其处理调用哪些要被执行的资源)HandlerAdapter经过适配器调用具体的处理器(Controller,也叫后端控制器,一般是我们自己写的资源封装的对象)Controller执行完返回ModelAndView(模型和视图对象)HandlerAdapter(处理器适配器)将controller执行结果ModelAndView返回给DispatcherServlet(前端控制器)DispatcherServlet将ModelAndView传给ViewReslover视图解析器(从ModelAndView中将视图View对象解析出来)ViewReslover解析后返回具体的ViewDispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中),DispatcherServlet响应用户