Web---请求映射原理
首先,在原生servlet中处理请求的是doget和dopost方法,在spring中处理请求的首先是dispatcherservlet,所以先来到DispatcherServlet源码
发现它继承了FrameworkServlet,这个FrameworkServlet继承了HttpServletBean,说明dispatcherServlet是一个原生servlet,FrameworkServlet继承了HttpServletBean,HttpServletBean继承了HttpServlet,这个 HttpServletBean里面并没有发现处理请求的doXXX方法。所以呢就来FrameworkServlet里面看看
发现里面有各种do方法,这是处理请求的方法,再进入这些方法中发现,都直接或间接调用了processRequest这个方法,那说明处理请求映射就跟她有关
在这个方法里面先是一堆处理请求,然后执行了一个doService方法,这说明这个方法是关键
再找这个doService方法,他是一个抽象方法,说明这时候就要来到DispatcherServlet里面看看这doservice方法
在这个doservice方法里面,又是一大堆,但是在后面执行了一个doDispatch方法
来到doDispatch方法中,在这个方法里就能找到为什么springboot能找到请求映射确定执行那个控制器方法
首先是一堆初始化参数赋值以及检测有没有文件上传