首页 > 其他分享 >SpringMVC 的执行流程

SpringMVC 的执行流程

时间:2023-09-28 12:11:40浏览次数:36  
标签:执行 SpringMVC 流程 视图 HandlerAdapter Controller 处理器 ModelAndView DispatcherServlet

具体流程如下所示:

  1. 用户发送出请求到前端控制器 DispatcherServlet

  2. DispatcherServlet 收到请求调用 HandlerMapping(处理器映射器)。

  3. HandlerMapping 找到具体的处理器(可查找 xml 配置或注解配置),生成处理器对象及处理器拦截器(如果有),再一起返回给 DispatcherServlet

  4. DispatcherServlet 调用 HandlerAdapter(处理器适配器)。

  5. HandlerAdapter 经过适配调用具体的处理器(Handler / Controller)。

  6. Controller 执行完成返回 ModelAndView 对象。

  7. HandlerAdapter 将 Controller 执行结果 ModelAndView 返回给 DispatcherServlet

  8. DispatcherServletModelAndView 传给 ViewReslover(视图解析器)。

  9. ViewReslover 解析后返回具体 View(视图)。

  10. DispatcherServlet 根据 View 进行渲染视图(即将模型数据填充至视图中)。

  11. DispatcherServlet 响应用户。

标签:执行,SpringMVC,流程,视图,HandlerAdapter,Controller,处理器,ModelAndView,DispatcherServlet
From: https://www.cnblogs.com/scyy/p/17735467.html

相关文章

  • 力扣-2011-执行操作后的变量值
    存在一种仅支持4种操作和1个变量X的编程语言:++X和X++使变量X的值加1--X和X--使变量X的值减1最初,X的值是0给你一个字符串数组operations,这是由操作组成的一个列表,返回执行所有操作后,X的最终值。 示例1:输入:operations=["--X","X++","X++"]输出......
  • 【RocketMQ】DLedger模式下的选主流程分析
    RocketMQ4.5版本之前,可以采用主从架构进行集群部署,但是如果master节点挂掉,不能自动在集群中选举出新的Master节点,需要人工介入,在4.5版本之后提供了DLedger模式,使用Raft算法,如果Master节点出现故障,可以自动选举出新的Master进行切换。Raft协议Raft是分布式系统中的一种共识算法,......
  • 一次执行10天的SQL(数据库练习)
    一次执行10天的SQL原创 薛晓刚 四海内皆兄弟 2023-09-1507:01 发表于上海收录于合集#开发理念54个#Oracle57个#MYSQL46个  子查询和关联查询过多的危害(从前标量子查询那篇文章的延续)     子查询过多(很有可能不少都是不必要的,或者设计导致的)会导......
  • Tekton触发器请求流程
    Tekton是一个用于构建、测试和部署云原生应用程序的开源框架。Tekton触发器(TektonTriggers)是Tekton的一个组件,它允许你定义和触发任务和管道的执行。触发器可以基于事件来触发任务或管道的执行,这些事件可以是源代码的提交、镜像的推送、定时触发等。......
  • 【CVE-2019-0708】远程桌面服务远程执行代码漏洞复现
    【CVE-2019-0708】远程桌面服务远程执行代码漏洞当未经身份验证的攻击者使用RDP连接到目标系统并发送经特殊设计的请求时,远程桌面服务中存在远程执行代码漏洞。此漏洞是预身份验证,无需用户交互。成功利用此漏洞的攻击者可以在目标系统上执行任意代码。靶机:windows7IP:192......
  • Android Activity setContentView流程解析
    ActivitysetContentView流程解析参考图解:自主生码.jpg1.当MainActivity直接继承自Activity时此时会执行Activity类的setContentView方法:publicvoidsetContentView(@LayoutResintlayoutResID){getWindow().setContentView(layoutResID);initWindowDecorActi......
  • mojo编程语言:编译后的mojo二进制执行文件调用python库报错——设置MOJO_PYTHON_LIBRAR
    代码:frompythonimportPythonfnf()raises:#ThisisequivalenttoPython's`importnumpyasnp`letnp=Python.import_module("numpy")leta=np.array([1,2,3])print(a)fnmain()raises:f() mojo编译后执行,报错:Moj......
  • 利用gpt_agent解决svn每次编译执行的时候都要输入密码的问题
    每次利用svn执行命令的时候总是需要输入密码,尤其是在工程的打包的时候,要输入很多次,非常麻烦。在参考了一些文章之后,感觉或多或少有些杂乱,总结了一下流程,大致如下。 1、在配置文件 ~/.subversion/config 里面的 [auth] 部分添加(或修改)以下代码:1[auth]2passwor......
  • uniapp代码 上传发布钉钉小程序 流程
    uniapp代码发行到钉钉平台流程:1.下载hbuilder,打开项目,在setting.json里面运行配置里面配置支付宝小程序开发路径:类似D:/ProgramFiles/小程序开发者工具/小程序开发者工具.exe,然后发行-自定义发行-钉钉小程序,然后  2.会自动打开小程序开发工具,工具下载地址:https://open.di......
  • Sovit2D组态设计 Web Scada烟气脱硫工艺流程
    前言我国是燃煤大国,燃煤排放的SO₂成为影响我国城市空气质量的主要污染物。因此,锅炉烟气脱硫是减排SO₂的重要手段。建设背景在节能减排的大形势下,钢厂、电厂等烟气脱硫是完成二氧化硫减排任务的重点工作之一。烟气脱硫系统具有很高的复杂性,目前很多脱硫系统出现运行故障多、不能......