在实际开发中,我们的实际工作主要集中在控制器和视图页面上,但Spring MVC内部完成了很多工作,这些程序在项目中具体是怎么执行的呢?
- 用户通过游览器向服务器发送请求,请求会被Sping MvC的前端控制DispatcherServlet所拦截
- DispatcherServlet拦截到请求后,会调HanleMapping处理器映射器:
- 处理器映射器根据请求URL找到具体的处理器,生成处理器对象及处理器拦截器(如
果有则生成) -并返回给DispatcherServlet。 - DispatcherServlet会通过返回信息选择合适的HandlerAdapter (处理器适配器)。
- HandlerAdapter会调用并执行Handler (处理器),这里的处理器指的就是程序中编写
的Controller类,也被称之为后端控制器。 - Controller执行完成后,会返回一个ModelAndView对象,该对象中会包含视图名或包含模型和视图名。
- HandlerAdapter将ModelAndView对象返回给DispatcherServlet。
- DispatcherServlet会根据ModelAndView对象选择- -一个合适的ViewReslover (视图解
析器)。 - ViewReslover解析后,会向DispatcherServlet 中返回具体的View (视图)。
- DispatcherServlet对View进行渲染(即将模型数据填充至视图中)。
- 视图渲染结果会返回给客户端浏览器显示。显劲日中a