Springmvc执行流程介绍[通俗易懂]

Springmvc执行流程介绍[通俗易懂]1.什么是MVCMVC是ModelViewController的缩写,它是一个设计模式。2.springmvc执行流程详细介绍第一步:发起请求到前端控制器(DispatcherServlet)第二步:前端控制器请求HandlerMapping查找Handler,可以根据xml配置、注解进行查找第三步:处理器映射器HandlerMapping向前端控制器返回Handler第四步:前端控制器调用处理器适配器去执行Handler第五步:处理器适配器去执行Handler第

大家好,又见面了,我是你们的朋友全栈君。

目录

 

1.什么是MVC 

2.springmvc执行流程详细介绍

3.springmvc组件详细介绍


1.什么是MVC MVC是Model View Controller的缩写,它是一个设计模式。

Springmvc执行流程介绍[通俗易懂]

2.springmvc执行流程详细介绍

Springmvc执行流程介绍[通俗易懂]

第一步:发起请求到前端控制器

第二步:前端控制器请求HandlerMapping查找 Handler,可以根据xml配置、注解进行查找

第三步:处理器映射器HandlerMapping向前端控制器返回Handler

第四步:前端控制器调用处理器适配器去执行Handler

第五步:处理器适配器去执行Handler

第六步:Handler执行完成给适配器返回ModelAndView

第七步:处理器适配器向前端控制器返回ModelAndView,ModelAndView是springmvc框架的一个底层对象,包括Model和view

第八步:前端控制器请求视图解析器去进行视图解析,根据逻辑视图名解析成真正的视图(jsp)

第九步:视图解析器向前端控制器返回View

第十步:前端控制器进行视图渲染,视图渲染将模型数据(在ModelAndView对象中)填充到request域

第十一步:前端控制器向用户响应结果

3.springmvc组件详细介绍

1、前端控制器DispatcherServlet(不需要程序员开发)

作用:接收请求,响应结果,相当于转发器,中央处理器。

有了DispatcherServlet减少了其它组件之间的耦合度。

2、处理器映射器HandlerMapping(不需要程序员开发)

作用:根据请求的url查找Handler

3、处理器适配器HandlerAdapter

作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler

4、处理器Handler(需要程序员开发)

注意:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler

5、视图解析器View resolver(不需要程序员开发)

作用:进行视图解析,根据逻辑视图名解析成真正的视图(view)

6、视图View(需要程序员开发jsp)

View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf…)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154089.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月28日 上午9:16
下一篇 2022年6月28日 上午9:36


相关推荐

  • java HmacSHA1 计算

    java HmacSHA1 计算此处使用 SecretKeySpe 构造 key 用 Mac 对象初始化构造的 key 对象 MAC 算法主要集合了 MD 和 SHA 两大系列消息摘要算法 MD 系列的算法有 HmacMD2 HmacMD4 HmacMD5 三种算法 SHA 系列的算法有 HmacSHA1 HmacSHA224 HmacSHA256 HmacSHA384 HmacSHA512 五种算法 hmac 签名算法

    2025年10月23日
    6
  • mysql数据库中int类型的最大值_mysql自增主键最大值

    mysql数据库中int类型的最大值_mysql自增主键最大值1、mysql中int(11)中的11代表显示宽度整数列的显示宽度,与mysql需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系。比如,不管设定了显示宽度是多少个字符,bigint都要占用8个字节。a、int是整型,(11)是指显示字符的宽度,最大为255。b、int(11)是记录行数的id,插入10条记录,那么它就显示00000000001~~~00000000010。c…

    2025年8月27日
    11
  • 三种编程命名规范(匈牙利命名法、驼峰式命名法、帕斯卡命名法)

    三种编程命名规范(匈牙利命名法、驼峰式命名法、帕斯卡命名法)1 匈牙利命名 开头字母用变量类型的缩写 其余部分用变量的英文或英文的缩写 要求单词第一个字母大写 ex intiMyAge i 是 int 类型的缩写 charcMyName 10 c 是 char 类型的缩写 floatfManHei f 是 float 类型的缩写 其他 前缀类型 abbyccbcrcx cydwfnhil

    2026年3月19日
    3
  • python多线程与多进程及其区别

    python多线程与多进程及其区别个人一直觉得对学习任何知识而言,概念是相当重要的。掌握了概念和原理,细节可以留给实践去推敲。掌握的关键在于理解,通过具体的实例和实际操作来感性的体会概念和原理可以起到很好的效果。本文通过一些具体的例子

    2022年7月3日
    30
  • pycharm怎么创建虚拟环境_pycharm选择运行环境

    pycharm怎么创建虚拟环境_pycharm选择运行环境配置虚拟环境的必要性1、保持项目的独立性。为每一个项目建立一个独立的运行环境,不与其他项目之间产生环境冲突。(比如其他项目加载或删除依赖环境软件时,互不影响)通俗一点就是,每人一个单间,大家在自己的房间内可以各干各的。2、提升项目开机加载速度。在独立性的前提下,虚拟环境可以选择继承已有的公共环境中的依赖包,也可以完全新建一个空间,也可以将自己的依赖环境共享给其他项目。总之,保证每个项目的虚…

    2022年8月28日
    5
  • 黑群晖DSM 6.x 配置文件grub.cfg修改 mac地址/sn等修改

    黑群晖DSM 6.x 配置文件grub.cfg修改 mac地址/sn等修改新的DSM6.x配置文件和以前的XPEnoboot的配置文件不一样了,我们可以通过OSFMount虚拟光驱软件打开img后再修改。安装完成后运行OSFMount点击左下角-Mountnew,选择下载的img镜像。(注意:img镜像目录必须是英文或数字,不能是中文)选择Partition0,点击OK再把下面Read-onlydrive的选项去勾后点击OK。在OSFMount软件里双…

    2022年5月9日
    66

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号