【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处理器 用户

相关推荐
十八旬4 小时前
苍穹外卖项目实战(day7-2)-购物车操作功能完善-记录实战教程、问题的解决方法以及完整代码
java·开发语言·windows·spring boot·mysql
喂完待续4 小时前
【序列晋升】31 Spring Cloud App Broker 微服务时代的云服务代理框架
spring·spring cloud·微服务·云原生·架构·big data·序列晋升
Java水解4 小时前
MySQL UPDATE 语句:数据更新操作详解
后端·mysql
BIGSHU09234 小时前
java多线程场景3-并发处理和异步请求
java·开发语言·python
Java水解4 小时前
深入浅出:在 Koa 中实现优雅的中间件依赖注入
后端·koa
lssjzmn4 小时前
构建实时消息应用:Spring Boot + Vue 与 WebSocket 的有机融合
java·后端·架构
渣哥4 小时前
Java ConcurrentHashMap vs Hashtable:差异、性能与应用场景
java
金銀銅鐵4 小时前
[Java] 浅析可重复注解(Repeatable Annotation) 是如何实现的
java·后端
柯南二号4 小时前
【设计模式】【观察者模式】实例
java·开发语言·servlet
用户8174413427484 小时前
Kubernetes集群核心概念 Service
后端