请谈一下Spring MVC的工作原理是怎样的?

①客户端的所有请求都交给前端控制器DispatcherServlet来处理,它会负责调用系统的其他模块来真正处理用户的请求。

②DispatcherServlet收到请求后,将根据请求的信息(URL、http协议方法、请求头、请求参数、cookie等)以及HandlerMapping的配置找到处理该请求的Handler(任何一个对象都可以作为请求的Handler)。

③在这个地方spring会通过HandlerAdapter对该处理器进行封装。

④HandlerAdapter是一个适配器,它用统一的接口对各种Handler中的方法进行调用。

⑤Handler完成对用户请求的处理后,会返回一个ModelAndView对象给DispatcherServlet,顾名思义,ModelAndView包含了数据模型以及相应的视图信息。

⑥ModelAndView的视图是逻辑视图,DisptcherServlet还要借助视图解析器ViewResolver完成从逻辑视图到真正视图的解析工作。

⑦当得到真正的视图对象后,DispatcherServlet会利用视图对象对模型数据进行渲染。

⑧客户端得到响应,可能是一个普通的html页面,也可以是json或xml数据,还可以是一张图片或pdf文件。

请谈一下Spring MVC的工作原理是怎样的?相关推荐

  1. Spring MVC的工作原理,我们来看看其源码实现

    前言 开心一刻 晚上陪老丈人吃饭,突然手机响了,我手贱按了免提--哥们:快出来喝酒!哥几个都在呢!我:今天不行,我现在陪老丈人吃饭呢.哥们:那你抓紧喝,我三杯白酒,把我岳父放倒了才出来的,你也快点.看 ...

  2. Spring MVC的工作原理和机制

    Spring  MVC的工作原理和机制 参考: springMVC 的工作原理和机制 - 孤鸿子 - 博客园 https://www.cnblogs.com/zbf1214/p/5265117.htm ...

  3. 阿里P7工作总结:Spring MVC的工作原理,看完受益匪浅

    这篇文章将深入探讨Spring框架的一部分--Spring Web MVC的强大功能及其内部工作原理. 项目安装 在本文中,我们将使用最新.最好的Spring Framework 5.我们将重点介绍S ...

  4. spring mvc原理_Spring MVC的工作原理,我们来看看其源码实现

    来源:https://www.cnblogs.com/youzhibing/p/10695012.html 作者:youzhibing2904 遗留问题 在关于利用maven搭建ssm的博客,我们一起 ...

  5. Spring框架的工作原理

    Spring框架是一个开源的Java平台,它为容易而快速的开发出耐用的Java应用程序提供了全面的基础设施.完成基础阶段的学习后,就会开始接触框架的知识,接下来就给大家简单讲解Spring框架的工作原 ...

  6. spring boot actuator工作原理之http服务暴露源码分析

    spring boot actuator的官方文档地址:https://docs.spring.io/spring-boot/docs/current/reference/html/productio ...

  7. spring MVC 及 AOP 原理

    SpringMVC工作原理 https://www.cnblogs.com/xiaoxi/p/6164383.html spring MVC 原理 https://blog.csdn.net/y199 ...

  8. Spring MVC 执行过程原理(请求映射原理、参数处理原理、返回值处理器)

    Spring MVC 执行过程分析 文章目录 Spring MVC 执行过程分析 请求映射原理 适配器Adapter 执行目标方法 参数处理器解析器HandlerMethodArgumentResol ...

  9. Spring特点与工作原理

    根据多个参考资料,总结如下: Spring的概念 Spring是一种多层的J2EE应用程序框架,其核心就是提供一种新的机制管理业务对象及其依赖关系.它是一种容器框架,用于创建bean,维护bean之间 ...

最新文章

  1. 吴琦:视觉-语言导航新进展:Pre-training 与 Sim2Real | 青源 Talk 第 12 期
  2. mysql+挂马代码_转载:挂马代码大全
  3. 『设计模式』80年代的人们就已经领悟了设计模式-- 发布者/订阅者模式 (包括发布者/订阅者模式和观察者模式的区别)
  4. 万网空间的数据库配置方法
  5. android怎么实现记住密码功能,Android实现用户登录记住密码功能
  6. pda mysql_Mysql 基础
  7. 林达华——我的PhD生活
  8. 利用Python+xarray+cartopy+matplotlib 实现遥感地形图制图绘制 —— xarray 学习文档01
  9. Mac安装Royal TSX
  10. pytest常用参数
  11. 区分微信小程序版本(开发工具中、开发版、体验版、正式版)的方法?
  12. 计算机替换字体怎么操作,电脑替换文字怎么操作
  13. Vue3 + elementplus 分页组件英文改为中文
  14. “浙”里别具风采——2018中国软件生态大会·杭州站
  15. 京东Java岗:来自面试官的夺命连环56问,直接当场怀疑人生~
  16. NTS-NetTopologySuite中判断shape中的点是否有压盖、重叠
  17. SSL/TLS 双向认证
  18. 深入场景,产融智合驱动金融业务智慧升级
  19. 环境土壤物理模型 HYDRUS1D/2D/3D 应用
  20. Nginx证书(server.crt,server.key),Tomcat证书(server.jks)

热门文章

  1. 【机器学习基础】(三):理解逻辑回归及二分类、多分类代码实践
  2. 推荐CVer的总结 | 性能最强的目标检测算法
  3. 吴恩达新书《Machine Learning Yearning》手稿完工,现在全集免费下载!(附pdf下载)
  4. 一个端到端模型GraphDR实现多样化的召回
  5. 网易云信携手LiveVideoStackCon 2019,探索多媒体技术新世界
  6. 互联网1分钟 |0104
  7. 2019阿里云开年Hi购季新用户分会场全攻略!
  8. mysql中json_merge函数的使用?
  9. vue适配移动端px自动转化为rem
  10. s7-300 第9讲 定时器