【Spring】Springmvc执行流程

介绍

SpringMVC是一种基于Spring实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,使用了MVC的架构模式思想,将Web层进行指责解耦,并管理应用所需的生命周期,为简化日常开发,提供了很大便利。

组件

组件
DispatcherServlet 前端控制器:接收请求、响应结果,相当于转发器,有了 DispatcherServlet 就减少了其它组件之间的耦合度。
HandlerMapping 处理器映射器 :根据请求的 URL 来查找 Handler。
HandlerAdapter 处理器适配器 :负责执行 Handler。
Handler 处理器 :处理业务逻辑的 Controller 类。
ViewResolver 视图解析器 :进行视图的解析,根据视图逻辑名将 ModelAndView 解析成真正的视图(view) 。
View 视图 :View 是一个接口, 它的实现类支持不同的视图类型,如 jsp,freemarker, pdf 等

流程图

SpringMVC 1.发送请求 2.查询Handler 3.返回Handler 4.执行Handler 5.请求 6.响应 7.返回ModelAndView 8.解析视图 9.返回View对象 10.渲染视图 11.返回响应 DispatcherServlet
前端控制器 HandlerMapping
处理器映射器 HandlerAdapter
处理器适配器 ViewResolver
视图解析器 Handler
Controller处理器 View
视图 用户

RestController的执行流程
SpringMVC 1.发送请求 2.查询Handler 3.返回Handler 4.执行Handler 5.请求 6.响应 7.返回对象 8.返回JSON字符串响应 DispatcherServlet
前端控制器 HandlerMapping
处理器映射器 HandlerAdapter
处理器适配器 Handler
Controller处理器 用户

相关推荐
程序员小假8 分钟前
我们来说一下无锁队列 Disruptor 的原理
java·后端
资生算法程序员_畅想家_剑魔22 分钟前
Kotlin常见技术分享-02-相对于Java 的核心优势-协程
java·开发语言·kotlin
ProgramHan26 分钟前
Spring Boot 3.2 新特性:虚拟线程的落地实践
java·jvm·spring boot
nbsaas-boot1 小时前
Go vs Java 的三阶段切换路线图
java·开发语言·golang
毕设源码-钟学长1 小时前
【开题答辩全过程】以 基于Java的慕课点评网站为例,包含答辩的问题和答案
java·开发语言
武子康1 小时前
大数据-209 深度理解逻辑回归(Logistic Regression)与梯度下降优化算法
大数据·后端·机器学习
小北方城市网1 小时前
分布式锁实战指南:从选型到落地,避开 90% 的坑
java·数据库·redis·分布式·python·缓存
maozexijr1 小时前
Rabbit MQ中@Exchange(durable = “true“) 和 @Queue(durable = “true“) 有什么区别
开发语言·后端·ruby
深圳佛手2 小时前
使用java,怎么样高效地读取一个大文件(10g以上)?
java·开发语言
sheji34162 小时前
【开题答辩全过程】以 景点移动导游系统的设计与实现为例,包含答辩的问题和答案
java