工作流程
- 客户端(浏览器)发送请求, DispatcherServlet拦截请求。
- DispatcherServlet 根据请求信息调用 HandlerMapping 。HandlerMapping 根据 uri 去匹配查找能处理的 Handler(也就是我们平常说的 Controller 控制器)。
- 将请求涉及到的拦截器和 Handler 一起封装,返回处理器执行链。
- DispatcherServlet 调用 HandlerAdapter适配器。
- 执行 Handler 。
- Handler 完成对用户请求的处理后,会返回一个 ModelAndView 对象给HandlerAdapter,ModelAndView 顾名思义,包含了数据模型以及相应的视图的信息。Model 是返回的数据对象,View 是个逻辑上的 View。
- HandlerAdapter 返回 ModelAndView 对象给 DispatcherServlet。
- 请求视图解析器 ViewResolver,根据逻辑 View 查找实际的 View。
- 返回 View 对象。
- DispaterServlet 把返回的 Model 传给 View(视图渲染)。
- 把 View 返回给请求者(浏览器)。