具体处理过程如下:
- 1、用户发送请求到
DispatcherServlet类进行处理。 - 2、
DispatcherServlett收到请求后,调用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类向用户返回响应。