一、SpringMVC组件解析
之前我们是从代码的角度来解析的,不全面,让我们站在SpringMVC的角度看看完整的环节是咋完成的:
(1)首先是一个请求发给前端控制器(DispatcherServlet)
(2)因为请求是一个http的url啊,前端控制器相当于项目经理,只是做调解作用,对于这个url,项目经理也不知道该不该让你访问。
所以前端控制器去找到一个能处理这个url的兄弟过来:处理器映射器HandlerMapping。
(3)处理器映射器处理了这个url之后,会得到一大堆结果。为什么是一大堆?因为一个url过来,不是你想访问什么我就都能让你访问的,我在我的内部有我自己的校验,我会有一些过滤器拦截器对不对,我把这些过滤器拦截器和url都告诉项目经理:你想要访问这个url可以,但是前提是得经过这些过滤器和拦截器的考验。
所以处理器映射器HandlerMapping返回给前端控制器(项目经理)一个处理器执行链HandlerExecutionChain(日报,我这天做了啥,有啥成果)
(4)现在我们的前端控制器(项目经理)知道,你这个url想要访问