spring MVC应用(四)---执行过程了解
从配置的org.springframework.web.servlet.DispatcherServlet这个servlet开始springmvc的调用。
相关的类:
调用流程:
service方法(若获取不到请求方法,直接处理,若获取到,执行Httpservlet中对应的doGet,doPost等方法)
doGet-》processRequest(初始化上下文)-》doService
-》doDispatch(判断是否请求中含有文件流,
由请求获取处理该请求的controller中的方法接口以及接口对应的拦截器(HandlerExecutionChain),
由Handler获取HandlerAdapter,由Handler调用拦截器的preHandle(若拦截器返回false则直接返回不执行请求对应的
方法接口),由HandlerAdapter调用请求对应的方法接口,返回一个ModelAndView(使用HandlerAdapter封装的原因?),
判断是否需要将ModelAndView实例转换为jsp文件并渲染,由Handler调用拦截器的postHandle)
-》processDispatchResult(渲染页面,调用拦截器的afterCompletion方法)
参考:
https://www.cnblogs.com/xiaoxi/p/6164383.html