SpringMVC 工作原理

SpringMVC 工作原理1.客户端请求提交到DispatcherServlet2.由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller3.DispatcherServlet将请求提交到Controller4.Controller调用业务逻辑处理后,返回ModelAndView5.DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图,并将结果显示到客户

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


一、工作原理

Spring的MVC框架主要由DispatcherServlet、映射处理器、处理器(控制器)、视图解析器、视图组成。

SpringMVC 工作原理

简单描述

  1. 客户端请求提交到DispatcherServlet
  2. 由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller
  3. DispatcherServlet将请求提交到Controller
  4. Controller调用业务逻辑处理后,返回ModelAndView
  5. DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图,并将结果显示到客户

详细过程

  1. 用户发送请求至前端控制器DispatcherServlet
  2. DispatcherServlet调用处理器映射器HandlerMappering
  3. 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet;
  4. DispatcherServlet调用处理器适配器HandlerAdapter
  5. 处理器适配器经过适配调用具体的处理器(Controller,也叫后端控制器)
  6. Controller执行完成返回ModelAndView;
  7. 处理器适配器将controller执行结果ModelAndView返回给DispatcherServlet;
  8. DispatcherServlet将ModelAndView传给视图解析器ViewReslover
  9. 视图解析器解析后返回具体View;
  10. DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中),并响应给用户。

二、处理器/组件 的作用

前端控制器DispatcherServlet(也叫中央处理器):作为前端控制器,整个流程控制的中心,控制其它组件执行,统一调度,降低组件之间的耦合性,提高每个组件的扩展性。

处理器映射器HandlerMappering:通过扩展处理器映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。

处理器适配器HandlerAdapter:通过扩展处理器适配器,支持更多类型的处理器。

视图解析器ViewReslover:通过扩展视图解析器,支持更多类型的视图解析,例如:jsp、freemarker、pdf、excel等。
 


如果有错误的地方欢迎指出~?
转载请标明:
https://blog.csdn.net/vihem/article/details/120888564

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/146551.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • pycharm 2021.11.3激活码【2021最新】

    (pycharm 2021.11.3激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html6B1QWJC8H5-eyJsa…

  • 你知道Python是什么意思吗?

    你知道Python是什么意思吗?python中文就是蟒蛇的意思。在计算机中,它是一种编程语言。Python(英语发音:/ˈpaɪθən/),是一种面向对象、解释型计算机程序设计语言,由GuidovanRossum于1989年

  • 2021年软件测试面试题大全[通俗易懂]

    简述测试流程:1、阅读相关技术文档(如产品PRD、UI设计、产品流程图等)。 2、参加需求评审会议。 3、根据最终确定的需求文档编写测试计划。 4、编写测试用例(等价类划分法、边界值分析法等)。 5、用例评审(主要参与人员:开发、测试、产品、测试leader)。 6、开发提交代码至SVN或者GIT,配管搭建测试环境。 7、执行测试用例,记录发现的问题。 8、验证bug与回归测试。 9、编写测试报告。 10、产品上线。补充测试用例设计过程:根据需求得出测试需求设计测试方

  • Python编程语言简介

    Python编程语言简介Python诞生于20世纪90年代初,由荷兰人吉多·范罗苏姆发明。那么,Python这一门编程语言是如何发明的呢?这之中又有怎么的故事呢?请看下面。故事发生在1989年的圣诞节上,吉多先生

  • 在活动目录中,转移和占用操作主机角色(转移)

    在活动目录中,转移和占用操作主机角色(转移)

  • Cesium简介「建议收藏」

    Cesium简介「建议收藏」一、Cesium介绍Cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎。Cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区域,并提供良好的触摸支持,

发表回复

您的电子邮箱地址不会被公开。

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