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 当做结果返回给客户端
相关推荐
皮皮林5511 小时前
拒绝写重复代码,试试这套开源的 SpringBoot 组件,效率翻倍~
java·spring boot
IT_陈寒4 小时前
Python开发者必知的5大性能陷阱:90%的人都踩过的坑!
前端·人工智能·后端
顺风尿一寸5 小时前
从 Java NIO poll 到 Linux 内核 poll:一次系统调用的完整旅程
java
流浪克拉玛依5 小时前
Go Web 服务限流器实战:从原理到压测验证 --使用 Gin 框架 + Uber Ratelimit / 官方限流器,并通过 Vegeta 进行性能剖析
后端
程途知微5 小时前
JVM运行时数据区各区域作用与溢出原理
java
孟沐5 小时前
保姆级教程:手写三层架构 vs MyBatis-Plus
后端
星浩AI5 小时前
让模型自己写 Skills——从素材到自动生成工作流
人工智能·后端·agent
华仔啊7 小时前
为啥不用 MP 的 saveOrUpdateBatch?MySQL 一条 SQL 批量增改才是最优解
java·后端
武子康8 小时前
大数据-242 离线数仓 - DataX 实战:MySQL 全量/增量导入 HDFS + Hive 分区(离线数仓 ODS
大数据·后端·apache hive
砍材农夫8 小时前
TCP和UDP区别
后端