1 缘起
这篇文章拖了有半年,
开始学习Spring如何处理请求时,搜集了相关文章,
但是,没有很理解,所以就没再看,
后来,在研究Spring Framework设计时,发现了Spring的模块化设计,
理解了spring-webmvc的作用,开始学习源码,理解了Spring是如何处理请求的,
现整理成文,分享给读者,帮助学习Spring的请求处理过程,
轻松应对知识考核与交流。
2 请求处理流程
Spring处理请求的流程如下图所示,
由图可知,请求通过类DispatcherServlet的doDispatch进入,
经过@RequestMapping、@Controller和@Service处理相应的逻辑,
最终渲染View,通过ModelAndView返回页面,
如果是Json数据,则通过HttpServletResponse获取响应数据,
下文会通过源码分析如何映射到各自注解。