1、重点关注DispatcherServlet.class(前端控制器)

所有的请求在Springmvc中都经过DispatcherServlet.class进行处理
展开DispatcherServlet.class的机构树,

发现dispatcherServlet也是继承了httpServlet,那么只要事servlet就要重写doget、dopost方法,

父类中这两个方法都是调用processRequest方法,

而 processRequest这个方法中重点是

抽象方法doService
进入dispatcherServlet中的doService方法中

重点调用了doDispatch方法

前端页面发起一个请求,断点跟踪:


进入getHandler中springboot默认加载了五个handlerMapping,重点关注RequestMappingHandlerMapping

循环迭代器,发现RequestMappingHandlerMapping中直接加载了所有自己创建的请求路径


最终找到controller
扩展:

这五个handlerMappings是Springboot默认加载的

在WebMvcAutoConfiguration中RequestMappingHandlerMapping作为一个组件在Springboot启动的时候就作为一个组件注入到容器中了
![[CISCN 2019华北Day2]Web1](https://img-blog.csdnimg.cn/img_convert/5ba071370b5615b9978b5d493815b169.png)

















