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

相关推荐
小灰灰__2 分钟前
IDEA加载通义灵码插件及使用指南
java·ide·intellij-idea
夜雨翦春韭6 分钟前
Java中的动态代理
java·开发语言·aop·动态代理
程序媛小果26 分钟前
基于java+SpringBoot+Vue的宠物咖啡馆平台设计与实现
java·vue.js·spring boot
追风林32 分钟前
mac m1 docker本地部署canal 监听mysql的binglog日志
java·docker·mac
芒果披萨1 小时前
El表达式和JSTL
java·el
许野平1 小时前
Rust: 利用 chrono 库实现日期和字符串互相转换
开发语言·后端·rust·字符串·转换·日期·chrono
duration~1 小时前
Maven随笔
java·maven
zmgst2 小时前
canal1.1.7使用canal-adapter进行mysql同步数据
java·数据库·mysql
跃ZHD2 小时前
前后端分离,Jackson,Long精度丢失
java
blammmp2 小时前
Java:数据结构-枚举
java·开发语言·数据结构