SpringMVC工作流程_简述前后端分离架构下的spring mvc的工作流程-程序员宅基地

技术标签: springmvc  

SpringMVC工作流程

说到SpringMVC,面试过程中经常问到的面试题,下面来分析一下SpringMVC的工作流程:
在这里插入图片描述
1.用户通过浏览器发送请求到前端控制器DispatcherServlet.
2.前端控制器直接将请求转发给处理器映射器HandlerMapping.
3.处理器映射器HandlerMapping会根据请求,找到负责处理该请求的处理器,并将其封装为处理器执行链HandlerExecutionChina后返回给前端控制器DispatchererServlet.
4.前端控制器DispatcherServlet根据处理器执行链中的处理器,找到能够执行该处理器的处理器适配器HandlerAdaptor
5.处理器适配器HandlerAdaptor调用执行处理器Controller.
6.处理器Controller将处理结果及要跳转的视图封装到一个对象ModelView中,并将其返回给处理器适配器HandlerAdaptor
7.处理器适配器直接将结果返回给前端控制器DispatcherServlet.
8.前端控制器调用视图解析器,将ModelAndView中的视图封装成视图对象.
9.视图解析器ViewResolver将封装的视图View对象返回给前端控制器DispatcherServlet.
10.前端控制器DispatcherServlet调用视图对象,让其进行渲染,即进行数据填充,形成响应对象.
11.前端控制器响应浏览器.

注意:一定要理解这张图,而不是盲目的背面试题,理解其工作流程才是正确的!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44132327/article/details/119011509

智能推荐

Win10/UWP开发:让你的App使用上扫描仪_安装windows desktop extensions for the uwp-程序员宅基地

文章浏览阅读2.5k次。UWP的扫描仪功能现在被微软划分到了[Windows Desktop Extensions for the UWP]中,如果要使用扫描仪扫描图片到自己的App中,首先我们要添加[Windows Desktop Extensions for the UWP]的引用,这个dll中的所有类都是只能在Desktop设备上才能正常运行的。添加[Windows Desktop Extensions for t_安装windows desktop extensions for the uwp

linux内核的链表的实现_在linux内核模块中实现单链表-程序员宅基地

文章浏览阅读6.9k次,点赞7次,收藏44次。在Linux内核中,绝大对数的数据结构都是通过链表来连接的,所以链表在内核中起着异常重要的作用。在Linux中链表的使用是以一个非常巧妙的,非常有意思的方式来实现的。这种使用方式和我们平时在传统数据结构课程所教导的使用有很大的差异。先看一下最终使用时的结构。下面我先来分析一下linux内核对于链表的实现。里面好多的操作我本人都是通过画图方式理解的。大家也可以尝试。下面是双向链表的基..._在linux内核模块中实现单链表

Android之——ContentProvider操作XML_content provider 操作xml-程序员宅基地

文章浏览阅读2.2k次。不多说,不废话,直接上代码,大家一看都懂得/** * ContentProvider操作XML文件的封装示例方法 * @author liuyazhuang*/public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { S_content provider 操作xml

操作系统课程项目 OS project —— Pintos from Project 1 to Project 3_斯坦福操作系统 project3-程序员宅基地

文章浏览阅读7.7k次,点赞14次,收藏83次。Pintos Project 陪伴我们操作系统课程大半个学期了……虽然做了这么长时间,个人能力有限,pintos代码,看过的可能也就看懂了一半吧,更不用说没看过的了……但是也找到了一些有价值的资料,整理一下,供后辈们参考……关于环境的问题,最好是用ubuntu 16.04windows用户不要折腾装双系统了,特别是win10,动不动更新一下,说不定双系统就出问题了,linux..._斯坦福操作系统 project3

BDP FL NHS ester,BDP FL NHS标记蛋白质和肽的氨基活性染料_肽段染料-程序员宅基地

文章浏览阅读185次。BDPFLNHSester是一种用于488 nm通道的高级染料,是荧光素的替代品,荧光素是一种与BDPFLNHSester相同的分子。标记蛋白质和肽的氨基活性染料。虽然这种分子的吸收光谱和发射光谱保持在FAM激发和发射通道内,但这种染料提供了更好的光稳定性和出色的亮度。BODIPY-FL的荧光光谱比FAM的荧光光谱窄。当发射波长可以调谐到染料值时,这为基于单色仪的仪器提供了更好的亮度。该染料是中性的,具有低分子量,并且在共轭物中保持高量子产率。该染料是荧光素(FAM)、BODIPY-FL..._肽段染料

关于Dosbox0.74无法使用masm命令-程序员宅基地

文章浏览阅读6k次,点赞9次,收藏9次。今天尝试在dosbox里编译asm源代码文件但是提示“illegal command”,也就是非法命令开始还以为我的dosbox版本不对但是去网上查阅资料发现别人用这个版本都可以使用所以百思不得其解最后,突然发现别人文件夹中的exe程序和我的有点儿不一样看了下我的asm目录下发现自己有一个tool.rar没有解压打开看了一下,里面是masm.exe和lin..._illegal command masm

随便推点

(编译器文件“f:\dd\vctools\compiler\cxxfe\sl\p1\c\p0io.c”,第 2739 行) fatal error C1001: 编译器中发生内部错误。-程序员宅基地

文章浏览阅读2.9k次,点赞7次,收藏2次。VS2013,VS2015,VS2017——迷之错误:(编译器文件“f:\dd\vctools\compiler\cxxfe\sl\p1\c\p0io.c”,第 2739 行) fatal error C1001: 编译器中发生内部错误。一觉醒来,所有的VS都编译不了程序了????都报C1001错误?????而且是三个工具同时报错???真是令人郁闷之极啊~~~~解决思路:遇到这种代码明明没..._编译器文件“f:\dd\vctools\compiler\cxxfe\sl\p1\c\p0io.c”,第 2739 行

严重: Parse error in application web.xml file at file:_parse error in application web.xml file at file:/f-程序员宅基地

文章浏览阅读5.1k次。问题发生两种情况:自己部署到Tomcat上的工程web.xml的问题,解决办法:找到你自己的tomcat 路径下apache-tomcat-8.0.30\webapps\自己的工程\WEB-INF下面的web.xml在这里<servlet-class>com.itszt.LoginService</servlet-class>后面的<servlet-c..._parse error in application web.xml file at file:/f:/apache-tomcat-8.0.9/weba

[实战]Zabbix监控SAP HANA数据库_hana数据库监控模板-程序员宅基地

文章浏览阅读1.3k次,点赞2次,收藏2次。Hello,大家好! 许久未发布文章,最近铁钢有些许忙碌,今天给大家带来点硬货,Zabbix如何监控SAP HANA数据库,如果你对我的文章感兴趣,请加入我们的QQ群:Zabbix研究院(QQ群:1107902496)_hana数据库监控模板

PHP中如何添加图片水印_php给图片加水印-程序员宅基地

文章浏览阅读1.8k次。在我们的日常生活中,为了不希望自己的图片被盗用,经常能够看到在一些图片上添加水印,比如我们网站上,输入图片文件的话会自动在右下角加上一个水印,那么这种水印效果是怎么实现的呢?在之前文章中对图片进行裁剪放到目标图上的操作和添加水印有些类似,为了实现添加水印,需要通过 imagecopymerge函数。注意上面这个是示例图片,下面的水印并不是我添加的,是网站自动添加的,为了区分,实例的水印是下面这样的。它的含义是,在来源图片的(x,y)的地方选取宽为w,高为h的矩形区域到目标图片的(x,y)上。_php给图片加水印

为什么在react中,推荐ref使用函数而不是字符串?_react ref的值为什么不推荐字符串-程序员宅基地

文章浏览阅读1.3k次。https://zhuanlan.zhihu.com/p/33596370?edition=yidianzixun&utm_source=yidianzixun&yidian_docid=0IJQ1fC1_react ref的值为什么不推荐字符串

R 语言 Basic Functionality of R and Variables_r语言functionality-程序员宅基地

文章浏览阅读100次。Basic Functionality of R and VariablesQ1. Data Typesa)R in its most basic form can be used as a calculator. Write some coded math expressions using at least three different operators (including at least one trigonometric function).Note: R follows the s_r语言functionality

推荐文章

热门文章

相关标签