具体处理过程如下:
- 1、用户发送请求到
DispatcherServlet类
进行处理。 - 2、
DispatcherServlet
t收到请求后,调用HandlerMapping
处理器映射器,请求获取Handler
。 - 3、
HandlerMapping类
根据request请求
的URL
等信息查找能够进行处理的Handler
,以及相关拦截器interceptor
并构造HandlerExecutionChain
。 - 4、
HandlerMapping类
将构造的HandlerExecutionChain类
的对象返回给前端控制器DispatcherServlet类
。 - 5、前端控制器拿着上一步的
Handler
遍历所有配置的HandlerAdapter类
请求执行Handler
。 - 6、
HandlerAdapter类
执行相关Handler
并获取ModelAndView类
的对象。 - 7、
HandlerAdapter类
将上一步Handler
执行结果的ModelAndView 类
的对象返回给前端控制器。 - 8、
DispatcherServlet类
遍历所有配置的ViewResolver类
请求进行视图解析。 - 9、
ViewResolver类
进行视图解析并获取View
对象。 - 10、
ViewResolver类
向前端控制器返回上一步骤的View
对象。 - 11、
DispatcherServlet类
进行视图View
的渲染,填充Model
。 - 12、
DispatcherServlet类
向用户返回响应。