[Spring] Springmvc执行流程

介绍

SpringMVC是一种基于Spring实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,使用了MVC的架构模式思想,将Web层进行指责解耦,并管理应用所需的生命周期,为简化日常开发,提供了很大便利。

组件

组件
DispatcherServlet前端控制器:接收请求、响应结果,相当于转发器,有了 DispatcherServlet 就减少了其它组件之间的耦合度。
HandlerMapping处理器映射器 :根据请求的 URL 来查找 Handler。
HandlerAdapter处理器适配器 :负责执行 Handler。
Handler处理器 :处理业务逻辑的 Controller 类。
ViewResolver视图解析器 :进行视图的解析,根据视图逻辑名将 ModelAndView 解析成真正的视图(view) 。
View视图 :View 是一个接口, 它的实现类支持不同的视图类型,如 jsp,freemarker, pdf 等

流程图

SpringMVC
1.发送请求
2.查询Handler
3.返回Handler
4.执行Handler
5.请求
6.响应
7.返回ModelAndView
8.解析视图
9.返回View对象
10.渲染视图
11.返回响应
DispatcherServlet
前端控制器
HandlerMapping
处理器映射器
HandlerAdapter
处理器适配器
ViewResolver
视图解析器
Handler
Controller处理器
View
视图
用户

RestController的执行流程

SpringMVC
1.发送请求
2.查询Handler
3.返回Handler
4.执行Handler
5.请求
6.响应
7.返回对象
8.返回JSON字符串响应
DispatcherServlet
前端控制器
HandlerMapping
处理器映射器
HandlerAdapter
处理器适配器
Handler
Controller处理器
用户

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/102113.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VAE模型(详细推导+实例代码)

文章目录 EM算法思路E步M步直观感觉 GMM模型VAEVAE思想从GMM到VAE公式推导重参数VAE神经网络另一个视角的VAE思想为什么引入encoder为什么要重参数噪声与重建 Discrete VAE 本文会从EM算法,GMM模型一步一步的的推导,在过渡到VAE模型,如果有熟…

Excel·VBA使用ADO合并工作簿

之前文章《ExcelVBA合并工作簿(7,合并子文件夹同名工作簿中同名工作表,纵向汇总数据)》处理合并工作簿问题,代码运行速度比较慢 而《ExcelVBA使用ADO读取工作簿工作表数据》读取数据非常快,那么是否可以使用…

车辆调度算法

参考资料 有什么车辆调度算法的最新研究,比如用强化学习的方法? https://www.zhihu.com/question/312332312 策略算法工程师之路-图优化算法(一)(二分图&最小费用最大流) https://zhuanlan.zhihu.com/p/103825713 模拟退火(SA&#xf…

1200*C1. k-LCM (easy version)(找规律)

Problem - 1497C1 - Codeforces 解析: 找规律即可,分为偶数的一半是偶数、偶数的一半是奇数、奇数三种情况 分别为 (n/2,n/4,n/4)(n/2-1,n/2-1,2)&#xff08…

多线程并发篇---第六篇

系列文章目录 文章目录 系列文章目录一、说一说自己对于 synchronized 关键字的了解二、说说自己是怎么使用 synchronized 关键字?三、什么是线程安全?Vector是一个线程安全类吗?一、说一说自己对于 synchronized 关键字的了解 synchronized关键字解决的是多个线程之间访问…

常见算法-双骰子游戏(Craps)

常见算法-双骰子游戏(Craps) 1、说明 一个简单的双骰子游戏,游戏规则如下: 玩家掷两个骰子,点数为1到6, 如果第一次点数和为7或11,则玩家胜,如果点数和为2、3或12,则…

Nlopt在matlab中的配置教程

step1:克隆代码并编译 编译的前提是已经安装好MinGW64 # 使用镜像加速 git clone https://gitclone.com/github.com/stevengj/nloptcd nlopt mkdir build cd build cmake -G"MinGW Makefiles" .. cmake --build .# 注意此处博主在mingw安装目录将mingw3…

windows10下 iperf3测试带宽

iperf3下载网址:iPerf - Download iPerf3 and original iPerf pre-compiled binaries 可以用来测试TCP以及UDP带宽质量 通俗来说是用来测试网速的 准备:两台设备 1. 根据自己的设备选择下载工具(两台都要有,这里我用的Window…

vue实现瀑布流

1、在 src 目录下创建 component文件夹&#xff0c;在文件夹中创建 vue文件。 2、在 Vue文件中写入以下内容 <div class"pubu"><div class"left"><div class"pubu-item" v-for"item in left" :key"item.id"…

react antd table表格点击一行选中数据的方法

一、前言 antd的table&#xff0c;默认是点击左边的单选/复选按钮&#xff0c;才能选中一行数据&#xff1b; 现在想实现点击右边的部分&#xff0c;也可以触发操作选中这行数据。 可以使用onRow实现&#xff0c;样例如下。 二、代码 1.表格样式部分 //表格table样式部分{…

JVM面试题:(三)GC和垃圾回收算法

GC: 垃圾回收算法&#xff1a; GC最基础的算法有三种&#xff1a; 标记 -清除算法、复制算法、标记-压缩算法&#xff0c;我们常用的垃圾回收器一般 都采用分代收集算法。 标记 -清除算法&#xff0c;“标记-清除”&#xff08;Mark-Sweep&#xff09;算法&#xff0c;如它的…

右值引用, 完美转发, 万能引用, lambda表达式, 包装器 用法

右值引用&#xff0c;完美转发&#xff0c;万能引用 用法 //链表节点 template <typename T> struct __list_node {//1. __list_node(const T& val T()):_prev(nullptr), _next(nullptr), _val(val){}__list_node(T&& val):_prev(nullptr), _next(nullptr)…

canvas基础2 -- 形状

七巧板 七巧板本质上就是 分别由几个直线 拼成一个个图形&#xff0c;再将这些图形结合起来 var tangram [{ p: [{ x: 0, y: 0 }, { x: 800, y: 0 }, { x: 400, y: 400 }], color: "#caff67" },{ p: [{ x: 0, y: 0 }, { x: 400, y: 400 }, { x: 0, y: 800 }], col…

Maven下载与文件配置

文章目录 官网下载相应文件修改配置文件设置环境变量 官网下载相应文件 https://maven.apache.org/ 点击Download ,找到Files 下载好了&#xff0c;请解压&#xff0c;放在你需要存储的位置&#xff01; 修改配置文件 打开解压的文件&#xff1a; 在conf 下有一个setting…

vscode远程ssh服务器且更改服务器别名

目录 1、打开VS Code并确保已安装"Remote - SSH"扩展。如果尚未安装&#xff0c;请在扩展市场中搜索并安装它。 2、单击左下角的"Remote Explorer"图标&#xff0c;打开远程资源管理器。 3、在远程资源管理器中&#xff0c;单击右上角的齿轮图标&#x…

IT行业有前景么? 优漫动游

IT行业非常有前景&#xff0c;我甚至一度觉得&#xff0c;如果你很迷茫&#xff0c;那么IT行业可能是绝大部分理工科的最佳选择。我知道有人不同意&#xff0c;先别急着反驳&#xff0c;听我说完先。 IT行业有前景么&#xff1f; 说到IT&#xff0c;人们对IT的第一印象是&…

这些负载均衡都解决哪些问题?服务、网关、NGINX?

在微服务项目中&#xff0c;有服务的负载均衡、网关的负载均衡、Nginx的负载均衡&#xff0c;这几个负载均衡分别用来解决什么问题呢&#xff1f; 一、服务的负载均衡 先抛出一个问题&#xff1a; 当一个微服务被多个实例部署时&#xff0c;如何分配和平衡请求的负载&#x…

淘宝API 接口知识小结

应用程序接口 API&#xff08;Application Programming Interface&#xff09;&#xff0c;是提供特定业务输出能力、连接不同系统的一种约定。这里包括外部系统与提供服务的系统&#xff08;中后台系统&#xff09;或后台不同系统之间的交互点。包括外部接口、内部接口&#x…

基于VCO的OTA稳定性分析的零交叉时差模型研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

因子分析(SPSS和Python)

一、源数据 二、SPSS因子分析 2.1.导入数据 2.2.标准化处理 由于指标的量纲不同&#xff08;单位不一致&#xff09;&#xff0c;因此&#xff0c;需要对数据进行标准化处理 2.3.因子分析 点击“确定”后&#xff0c;再回到“总方差解释”表格&#xff0c;以“旋转载荷平方和…