赞
踩
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启动的时候就作为一个组件注入到容器中了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。