Spring MVC 原理浅析

3,410 阅读2分钟
原文链接: blog.csdn.net

概述

spring MVC主要由DispatcherServlet、处理器映射、处理器(控制器)、视图解析器、视图组成。他的两个核心是两个核心:

处理器映射: 选择使用哪个控制器来处理请求。
视图解析器: 选择结果应该如何渲染。

运行原理

下图是在Spring官网开发手册上找到的,它清晰的诠释了Spring MVC的运行原理

image

  1. Http请求:客户端请求提交到前置控制器DispatcherServlet。

  2. DispatcherServlet寻找处理器Controller:由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求所对应的Controller。

3.处理器Controller执行:DispatcherServlet将请求提交到Controller,Controller调用业务逻辑处理后,返回ModelAndView。

  1. 处理视图映射并返回模型:DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图。

  2. Http响应:视图负责将结果展现到客户端。

接口的解释

接口名称 功能
DispatcherServlet Spring提供的前端控制器,客户端的所有请求都由DispatcherServlet负责分发,当然在DispatcherServlet分发之前,还需要一个匹配请求的过程,这个由HandlerMapping来完成。
HandlerMapping 完成客户端请求到Controller映射的工作
Controller 用于处理用户请求,返回处理结果
ViewResolver Web应用中查找View对象,从而将相应结果渲染给客户端

DispatcherServlet:

是整个Spring MVC的核心。它负责接收HTTP请求组织协调Spring MVC的各个组成部分。

其主要工作有以下三项:

  1. 截获符合特定格式的URL请求。

  2. 初始化DispatcherServlet上下文对应WebApplicationContext,并将其与业务层、持久化层的WebApplicationContext建立关联。

  3. 初始化Spring MVC的各个组成组件,并装配到DispatcherServlet中。

网络上看到的一个比较好理解的Spring mvc原理图

image