SpringMVC是一种基于Java,实现了Web MVC设计模式,请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦。基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,SpringMVC也是要简化我们日常Web开发。
请求处理流程如下:
1:用户先将请求发送到前端控制器(DispatcherServlet)。
2:前端控制器请求 HandlerMapping 去查找 Handler,根据 xml 配置、注解进行查找。
3: 处理器映射器 HandlerMapping 向前端控制器返回 Handler。
4:前端控制器调用处理器、适配器去执行 Handler。
5:处理器、适配器执行 Handler。
6:Handler 执行完成后将结果给适配器返回 ModelAndView。
7:处理器、适配器向前端控制器返回 ModelAndView 。 ModelAndView 是SpringMVC 框架的一个底层对象,包括 Model 和 View
8:前端控制器请求试图解析器去进行视图解析。 根据逻辑视图名来解析真正的视图。
9:视图解析器向前端控制器返回 view。
10:前端控制器再进行视图渲染。 就是将模型数据(在 ModelAndView 对象中)填充到 request 域
11:前端控制器向用户响应结果。