SpringMVC 的请求流程(高频面试题)

文章目录

SpringMVC

是什么,好处

Spring MVC 是Spring上最重要的框架。它是Web 框架,按照MVC 的模式,实现代码的解耦。Model 业务层、View 视图层、Controller 控制层。

将view层的请求数据在controller控制层中请求,在到业务层处理数据,最后返回到view层渲染。

SpringMVC的核心组件有哪些

● dispatcherServlet,核心处理器,用于接受请求、分发请求、给客户端回应。

● handlerMapping,处理映射器,根据url找到对应的hanlder,并将拦截器与 Handler 封装在一起。

● handlerAdapter,处理适配器,根据handlerMapping找到的handler,适配执行handler。

● handler,请求处理器,执行实际请求的处理

● ViewResovler,视图解析器,用于将Handler返回的modelandView解析渲染为返回请求的视图。

请求流程

  1. 客户端发起请求,DispatcherServlet 拦截请求。
  2. HandlerMapping 根据请求去寻找对应的 Handler 处理器。将相关的拦截器与处理器封装在一起。
  3. HandlerAdapter 根据 HandlerMapping 寻找的映射器,进行适配执行 handler
  4. handler 执行后返回 ModelandView,Model 为数据对象,View 为逻辑视图对象。
  5. ViewResovler 根据逻辑View 查找实际的View
  6. DispatcherServlet 将Model 给View进行视图渲染。
  7. 把View 当做结果返回给客户端
相关推荐
网易云信3 分钟前
企业级 IM,不是功能更多,而是场景更对
人工智能·后端
AmazingEgg15 分钟前
Eggblog博客部署文档
后端
lichuangcsdn17 分钟前
【Spring AI 学习(一)】spring ai是什么
人工智能·学习·spring·spring ai
程序员天天困21 分钟前
Arthas mc + retransform 实战:线上改完代码不用重新发版
jvm·后端
Dontla24 分钟前
冒烟测试介绍(Smoke Test、BVT构建验证测试、构建验收测试)与回归测试对比、与单元测试对比、与集成测试对比、Cypress
java·单元测试·集成测试
洛卡卡了34 分钟前
从 vibe coding 到 spec coding:我用 Trellis 的实践总结
人工智能·后端·agent
名字还没想好☜44 分钟前
Go 结构体内存对齐:调整字段顺序,同样的字段省下 40% 内存
开发语言·后端·golang·go·内存对齐
暖和_白开水1 小时前
数据分析agent(十):loguru日志输出优化 和es 启动流程
java·elasticsearch·数据分析
颜进强1 小时前
从零搭建私人 RAG 实战:用 Markdown 沉淀技术决策与业务决策
前端·后端·ai编程
减瓦1 小时前
Gradle 版本演进全景:构建工具的进化密码
java·gradle