入口方法
org.springframework.web.servlet.DispatcherServlet#doDispatch
流程
- 请求过来的时候,先通过getHandler找到对应的HandlerMethod,用其生成HandlerExecutionChain,添加拦截器链。
- getHanlderAdapter拿到合适的adapter,这里是RequestMappingHandlerAdapter
- 执行拦截器preHandler
- 执行ha.handle
4.1 通过argumentResolver解析出参数
4.2 doInvoke执行,并得到returnValue
4.3 使用returnValueHandler处理结果 - 执行拦截器的postHandle
- 执行拦截器的afterCompletion