首页 > 其他分享 >SpringMVC:SpringMVC的工作流程

SpringMVC:SpringMVC的工作流程

时间:2024-12-02 23:33:52浏览次数:13  
标签:初始化 请求 SpringMVC 流程 工作 save 方法 对应

SpringMVC入门案例请见:SpringMVC入门案例
接下来讲解一下SpringMVC的工作流程.

我们将SpringMVC的使用过程总共分两个阶段来分析,分别是启动服务器初始化过程单次请求过程.
在这里插入图片描述

启动服务器初始化过程
  1. 服务器启动,执行ServletContainersInitConfig类,初始化web容器

    • 功能类似于以前的web.xml
  2. 执行createServletApplicationContext方法,创建了WebApplicationContext对象

    • 该方法加载SpringMVC的配置类SpringMvcConfig来初始化SpringMVC的容器
  3. 加载SpringMvcConfig配置类:
    在这里插入图片描述

  4. 执行@ComponentScan加载对应的bean:
    扫描指定包及其子包下所有类上的注解,如Controller类上的@Controller注解

  5. 加载UserController,每个@RequestMapping的名称对应一个具体的方法:
    此时就建立了 /save 和 save方法的对应关系
    在这里插入图片描述

  6. 执行getServletMappings方法,设定SpringMVC拦截请求的路径规则:
    /代表所拦截请求的路径规则,只有被拦截后才能交给SpringMVC来处理请求:
    在这里插入图片描述

单次请求过程
  1. 发送请求http://localhost/save
  2. web容器发现该请求满足SpringMVC拦截规则,将请求交给SpringMVC处理
  3. 解析请求路径/save
  4. 由/save匹配执行对应的方法save()
    • 上面的第五步已经将请求路径和方法建立了对应关系,通过/save就能找到对应的save方法
  5. 执行save()
  6. 检测到有@ResponseBody直接将save()方法的返回值作为响应体返回给请求方

[声明]:内容主要来源黑马程序员网上资源学习

标签:初始化,请求,SpringMVC,流程,工作,save,方法,对应
From: https://blog.csdn.net/qq_41187116/article/details/144199202

相关文章

  • 【数学】数学的全流程之数学理论、数学建模、求解模型(数值分析/数值计算)
    【数学】数学的全流程之数学理论、数学建模、求解模型(数值分析/数值计算)    数学的全流程:数学理论,数学建模,求解模型(数值分析/数值计算)。  数学理论:学习数学理论。数学基础理论:(分析方向:代数学和几何学之间的关联方法/转换方法)数学分析,复分析,实分析,泛函分析等......
  • AntVL7-上手流程
    简介基于WebGL的开源大规模地理空间数据可化视分析开发框架。L7中的L代表Location,7代表世界七大洲。专注数据可视化表达,通过颜色、大小、纹理,方向,体积等视觉变量设置实现从数据到信息清晰,有效的表达。L7能够满足常见的地图图表,BI系统的可视化分析、以及GIS,交通,电力,国......
  • kube-proxy的iptables工作模式分析
    系列文章目录iptables基础知识文章目录系列文章目录前言一、kube-proxy介绍1、kube-proxy三种工作模式2、iptables中k8s相关的链二、kube-proxy的iptables模式剖析1.集群内部通过clusterIP访问到pod的流程1.1.流程分析2.从外部访问内部serviceclusterIP后端pod的流......
  • 职场晋升秘籍!把工作做到位,轻松脱颖而出
    书友们,不要错过了!我挖到了一本真正让我彻夜难眠的小说,情节跌宕起伏,角色鲜活得就像从书里跳出来陪你聊天。每一页都是新的惊喜,绝对让你欲罢不能。要是你也在寻找那种让人上瘾的阅读体验,这本书就是你的最佳选择,快来一起沉浸在这个非凡的故事中吧!《把工作做到位》作者:李屹之......
  • SpringMVC-07-Ajax
    1、Ajax是什么?AJAX=AsynchronousJavaScriptandXML(异步的JavaScript和XML)。AJAX是一种在无需重新加载整个网页的情况下,对网页进行局部更新的技术。Ajax不是一种新的编程语言,而是一种用于创建动态性和交互性更强的Web应用程序的技术。实际上,就是用JavaScript执行异步......
  • 【windows工作合集】 远程连接出现问题记录
    问题记录:由于需求要登录本地windows的虚拟机但是在输入用户信息/密码都正确的情况下出现上面截图的问题于是就百度进行查阅解决--主要就是说我这边机器可能是因为系统更新或者一些注册表的问题导致信息对不上,所以被认为无法登录(系统更新。微软系统补丁的更新将CredSSP身份......
  • 3个实用的Word批量处理技巧,帮助你轻松处理工作
    在日常办公中,我们常常需要处理大量的Word文档,如果逐个处理,不仅耗时费力,还容易出错。为了提高办公效率,掌握一些Word批量处理技巧显得尤为重要。下面,就为大家介绍几个实用的Word批量处理技巧,帮助你轻松应对繁琐的文档处理工作。一、批量对齐图片在文档中,如果有很多图片需要统......
  • 【工作日常】Google 以图搜图 代码
    publicstaticList<String>getExactMatchesByGoogleCrawler(StringimageUrl){try{ObjectMapperobjectMapper=newObjectMapper();//发送请求并获取响应(模拟点击search)Documentdoc=sendRequestByImageUrl(imageUrl);......
  • 【工作日常】Google 以图搜图 调研
    结论:利用模拟http请求,检索并处理html文本数据可以实现.(性能方面考虑,优先考虑使用模拟请求的方式,最后兜底考虑seleniumdriver)风险:如果网页的数据结构变化,要重新编写检索和处理文本数据的逻辑.具体过程:使用工具:fiddler,chrome,代码实现http......
  • IC Compiler II(ICC II)后端设计流程——超详细
    Preface本文中英文结合(学习一些专有名词),主要介绍ICCII软件进行后端设计的主要流程,在阅读之前需要对数字IC设计流程有一定的了解。逻辑综合相关知识请查看:Synopsys逻辑综合及DesignCompiler的使用(想了解逻辑综合的可以看看这个,但内容较多)数字IC设计整体流程请查看:关于数字IC后......