springmvc的执行流程详解[通俗易懂]

1.什么是MVCMVC是ModelViewController的缩写,它是一个设计模式 2.springmvc执行流程详细介绍 第一步:发起请求到前端控制器(DispatcherServlet)第二步:前端控制器请求HandlerMapping查找Handler        可以根据xml配置、注解进行查找第三步:处理器映射器Handle

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

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

springmvc的执行流程详解[通俗易懂]

 2.springmvc执行流程详细介绍

springmvc的执行流程详解[通俗易懂]

 

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

第二步:前端控制器请求HandlerMapping查找 Handler

         可以根据xml配置、注解进行查找

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

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

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

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

第七步:处理器适配器向前端控制器返回ModelAndView

         ModelAndView是springmvc框架的一个底层对象,包括Model和view

第八步:前端控制器请求视图解析器去进行视图解析

         根据逻辑视图名解析成真正的视图(jsp)

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

第十步:前端控制器进行视图渲染

         视图渲染将模型数据(在ModelAndView对象中)填充到request域

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

 

 

组件:

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/124956.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux上安装Openssl步骤详解

    1,查看原有系统是否已安装Opensslopensslversion-a系统已经安装了openssl,我们先安装新的版本,然后将环境配置成最新的版本。2,从openssl官网下载最新的稳定版本,https://www.openssl.org/source/当前的稳定版是openssl-fips-2.0.16.tar.gz(联邦信息处理标准(FederalInformationProc

    2022年4月3日
    40
  • 详解JVM常量池、Class常量池、运行时常量池、字符串常量池(心血总结)

    详解JVM常量池、Class常量池、运行时常量池、字符串常量池(心血总结)写在前面:博主是一位普普通通的19届二本大学生,平时最大的爱好就是听听歌,逛逛B站。博主很喜欢的一句话花开堪折直须折,莫待无花空折枝:博主的理解是头一次为人,就应该做自己想做的事,做自己不后悔的事,做自己以后不会留有遗憾的事,做自己觉得有意义的事,不浪费这大好的青春年华。博主写博客目的是记录所学到的知识并方便自己复习,在记录知识的同时获得部分浏览量,得到更多人的认可,满足小小的成就感,同时在写博客的途中结交更多志同道合的朋友,让自己在技术的路上并不孤单。目录:1.常量池与Class常量池2.运.

    2022年9月10日
    0
  • 显卡三重缓冲

    显卡三重缓冲显卡三重缓冲是解决显示器刷新率不足的问题的方案。

    2022年5月22日
    40
  • win10 任务栏锁定,win键没反应

    win10 任务栏锁定,win键没反应现象:之前用win10,换成win10专业版后,安装360优化系统,过了几天后突然发现任务栏好像被锁定一般,按windows键没有任何反应,任务栏打开的文件,图片等等右键也没有反应,讲道理应该有关闭选项的,再次检查发现日期点不开,看不到日历,音量键点了也没有反应。各种百度总之各种找原因都没有找到,直到看到一篇文章才解决问题,原来win10与win7的管理机制不同,不能关闭防火墙的。…

    2022年6月4日
    51
  • 空格html代码快捷键,html的空格代码怎么写?教你如何使用空格nbsp代码[通俗易懂]

    空格html代码快捷键,html的空格代码怎么写?教你如何使用空格nbsp代码[通俗易懂]本篇文章为大家介绍的是HTML的空格代码的写法,“ ”代码的用法,还有几种空格方式的解释,都在文章中,现在开始往下看吧。首先,我们知道这HTML网页中插入多个空格间隔是需要特殊字符编码的。如果是直接敲入多个空格键的话,虽然看似代码中有了多个空格效果,但其实在浏览器中还是只有1个空格间隔位置的。接下来教大家如果输入html空格字符的话,多个空格字符是如何输入的?我们采用直接复制空格…

    2022年9月22日
    0
  • springboot 406错误 produces(springboot下载)

    Springboot406错误简单的写了一个接口,然后406了。。。。publicclassTestController{@GetMapping(“/testGet/{message}”)publicResulttestGet(@PathVariableStringmessage){returnResult.success(message);}}Resolved[org.springframework.web.HttpMedi

    2022年4月12日
    43

发表回复

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

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