概述
spring MVC主要由DispatcherServlet、处理器映射、处理器(控制器)、视图解析器、视图组成。他的两个核心是两个核心:
处理器映射: 选择使用哪个控制器来处理请求。
视图解析器: 选择结果应该如何渲染。
运行原理
下图是在Spring官网开发手册上找到的,它清晰的诠释了Spring MVC的运行原理
-
Http请求:客户端请求提交到前置控制器DispatcherServlet。
-
DispatcherServlet寻找处理器Controller:由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求所对应的Controller。
3.处理器Controller执行:DispatcherServlet将请求提交到Controller,Controller调用业务逻辑处理后,返回ModelAndView。
-
处理视图映射并返回模型:DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图。
-
Http响应:视图负责将结果展现到客户端。
接口的解释
| 接口名称 | 功能 |
|---|---|
| DispatcherServlet | Spring提供的前端控制器,客户端的所有请求都由DispatcherServlet负责分发,当然在DispatcherServlet分发之前,还需要一个匹配请求的过程,这个由HandlerMapping来完成。 |
| HandlerMapping | 完成客户端请求到Controller映射的工作 |
| Controller | 用于处理用户请求,返回处理结果 |
| ViewResolver | Web应用中查找View对象,从而将相应结果渲染给客户端 |
DispatcherServlet:
是整个Spring MVC的核心。它负责接收HTTP请求组织协调Spring MVC的各个组成部分。
其主要工作有以下三项:
-
截获符合特定格式的URL请求。
-
初始化DispatcherServlet上下文对应WebApplicationContext,并将其与业务层、持久化层的WebApplicationContext建立关联。
-
初始化Spring MVC的各个组成组件,并装配到DispatcherServlet中。