Spring MVC的生命周期与简单三大组件的简单介绍
1.说到Spring MVC就会想到它是基于MVC设计模式的思想来设计的:
那么MVC设计模式是什么呢? 下面来介绍一下
MVC 设计模式
MVC是模型(model)-视图(view)-控制器(controller)的缩写,是一种用于设计编写Web应用程序的模式。
MVC设计模式的三大角色:
Model (模型)
模型层(Model):在模型层中又可以分为两层,即Service层和Dao层,这两层的主要功能是:
Service层:负责某些业务处理
Dao层:负责访问数据库,对数据的操作,获取结果集等
View (视图)
通常指的就是我们的jsp或者html。作用一般就是展示数据的。
主要负责显示数据(Html、Css、jQuery等等)
Controller (控制器)
是应用程序中处理用户交互的部分,作用一般就是处理程序逻辑的,主要功能是处理用户的请求
2.介绍完MVC设计模式,让我们来看看Spring MVC的三大组件分别是什么吧!
Spring MVC的三大组件:
处理器映射器(HandlerMapping):
作用:
1.实现类是存储请求和处理器映射关系
2.接口类是对外提供访问映射关系的功能
视图解析器(ViewResolver):
作用:根据视图名称解析视图对象
处理器适配器(HandlerAdapter):
作用:实现类提供适配
讲完这些让我们来看看Spring MVC的生命周期到底是什么样的吧!(流程图)
Spring MVC的生命周期(流程图):

流程图步骤解释:
1:客户端发出请求到http里面只要符合web.xml里面的配置就转换到DispatcherServlet(前端控制器)来处理
2:前端控制器请求HandlerMapping(处理器映射器)寻找 Handler
3:处理器向DispatcherServlet(前端控制器)返回Handler(处理器)
4:DispatcherServlet(前端处理器)调用处理器适配器去执行Handler
5:Handler让具体的Controller执行。
6:Handler执行完成给适配器返回 ModelAndView(存储处理完后的结果数据,以及显示该数据的视图包括:Model和view)
7:ModelAndView将解析后的信息传递给DispatcherServlet(前端控制器),如解析控制器映射等
8:DispatcherServlet调用视图解析器(ViewResolver)来解析ModelAndView传递的逻辑视图名。
9:视图解析器将解析的逻辑视图名传给DispatcherServlet。
10:DispatcherServlet根据视图解析器解析的视图结果,调用具体的视图
11:最终视图呈现给用户(响应结果)
Spring MVC的生命周期与简单三大组件的简单介绍的更多相关文章
- Spring Bean的生命周期、Spring MVC的工作流程、IOC,AOP
1.Spring Bean的生命周期? (1)构造方法实例化bean. (2)构造方法设置对象属性. (3)是否实现aware接口,三种接口(BeanNameAware,BeanFactoryAwar ...
- Spring Bean的生命周期(非常详细)
Spring作为当前Java最流行.最强大的轻量级框架,受到了程序员的热烈欢迎.准确的了解Spring Bean的生命周期是非常必要的.我们通常使用ApplicationContext作为Spring ...
- Spring Bean的生命周期,《Spring 实战》书中的官方说法
连着两天的面试 ,都问到了 Spring 的Bean的生命周期,其中还包括 昨晚一波阿里的电话面试.这里找到了Spring 实战中的官方说法.希望各位要面试的小伙伴记住,以后有可能,或者是有时间 去看 ...
- Spring Bean的生命周期详解(转)
Spring作为当前Java最流行.最强大的轻量级框架,受到了程序员的热烈欢迎.准确的了解Spring Bean的生命周期是非常必要的.我们通常使用ApplicationContext作为Spring ...
- Spring5源码解析-论Spring DispatcherServlet的生命周期
Spring Web框架架构的主要部分是DispatcherServlet.也就是本文中重点介绍的对象. 在本文的第一部分中,我们将看到基于Spring的DispatcherServlet的主要概念: ...
- Spring动态代理及Spring Bean的生命周期
数组添加值 public class DiTest { /** * 数组 */ private String [] arrays; /** * List:集合 */ private List<I ...
- Spring Bean 的生命周期(详细解读)
Spring Bean 的生命周期简单易懂.在一个 bean 实例被初始化时,需要执行一系列的初始化操作以达到可用的状态.同样的,当一个 bean 不再被调用时需要进行相关的析构操作,并从 bean ...
- spring bean的生命周期
掌握好spring bean的生命周期,对spring的扩展大有帮助. spring bean的生命周期(推荐看) spring bean的生命周期
- Spring Bean的生命周期相关博客
最近得面试题一直 问 Spring 得生命周期,鉴于自己还未阅读过源码 所以只能是自己 背一波了.属实不懂硬背得作用,但是无奈被各位面试官打败了.等以后有时间了 一定要阅读几遍spring的 源码 有 ...
- Spring学习手札(四)谈谈Spring Bean的生命周期及作用域
在Spring中,那些组成应用程序的主体以及由Spring IoC容器所管理的对象,被称之为Bean.Bean与应用程序中其他对象(比如自己创建类)的区别就是,Bean是由IoC容器创建于销毁的.在S ...
随机推荐
- Mybatis-Plus 系列:简介和基本使用
目录 一.简介 二.特性 三.基本使用 1.初始化数据库 2.初始化工程 3.精简 SpringBoot 相关日志 一.简介 官网:https://www.baomidou.com MyBatis-P ...
- Python基础——变量、常量、数字类型、四 列表list、五 字典dict、六 布尔bool、垃圾回收机制、用户交互、运算符、流程控制
文章目录 变量 一 引入 一.什么是变量? 二.为什么要有变量? 三.怎么使用变量(先定义.后使用) 3.1.变量的定义与使用 3.2.变量名的命名规范 3.3.变量名的命名风格 3.4.变量值的三大 ...
- 深入理解 Netty FastThreadLocal
作者:vivo 互联网服务器团队- Jiang Zhu 本文以线上诡异问题为切入点,通过对比JDK ThreadLocal和Netty FastThreadLocal实现逻辑以及优缺点,并深入解读源码 ...
- Acwing127周赛第三题 构造矩阵 (套路)
题目链接:构造矩阵 题目描述 我们希望构造一个 n×m 的整数矩阵. 构造出的矩阵需满足: 每一行上的所有元素之积均等于 k. 每一列上的所有元素之积均等于 k. 保证 k 为 1 或 −1. 请你计 ...
- 一篇文章带你掌握测试基础语言——Python
一篇文章带你掌握测试基础语言--Python 本篇文章针对将Python作为第二语言的用户观看(已有Java或C基础的用户) 因为之前学习过Java语言,所以本篇文章主要针对Python的特征和一些基 ...
- 对象转url参数
对象转url function getParams(params) { let paramStr = ''; Object.keys(params) .forEach((item) => { i ...
- iOS APP包分析工具
介绍 分享一款用于分析iOSipa包的脚本工具,使用此工具可以自动扫描发现可修复的包体积问题,同时可以生成包体积数据用于查看.这块工具我们团队内部已经使用很长一段时间,希望可以帮助到更多的开发同学更加 ...
- BI软件是什么?应用BI工具能给企业带来什么
BI软件是指利用数据挖掘.分析和可视化等技术,将企业内部和外部数据转化为有价值的信息和洞察,以帮助企业支持业务决策和优化业务流程的工具和应用程序.常见的BI软件包括Datainside.QlikVie ...
- Java自定义ClassLoader实现插件类隔离加载 - 原理篇
书接上回 在 Java自定义ClassLoader实现插件类隔离加载文章中,我们通过 自定义ClassLoader + 插件独立打包引入的方式,实现了同依赖不同版本的隔离加载 这次咱们来分析下具体实现 ...
- 开发必备工具、插件【ME】
工欲善其事,必先利其器,记录自己开发中常用的工具.插件: 慢慢更新... 一.必备 1.Visual Studio.IntelliJ IDEA .Sublime Text 3 2.TeamViewe ...