SpringMvC的执行流程

简介: 客户端发送HTTP请求,Spring MVC的前端控制器DispatcherServlet接收请求并调用HandlerMapper进行映射,返回包含Controller和拦截器的执行链。控制器执行逻辑后返回ModelAndView,前端控制器再调用ViewResolver解析视图并渲染HTML页面,最终返回给客户端。

客户端通过url发送一个HTTP请求,SpringMvc的前端控制器DispatcherServlet会接收这个请求并调用HandlerMapper(映射器)来进行映射,返回一个HandlerExecutionChain(处理程序执行链)(包含处理器对象(Controller)和拦截器).前端控制器拿到这个执行链后会通过HandlerApdater(额打不特)(处理器适配器)的分析找到对应的控制器Controller。控制器执行完URL对应的方法中的逻辑后会返回一个ModelAndView。前端控制器接收到这个对象后又会调用视图解析器(ViewResolver)来解析视图对象。最后前端控制器将模型数据传递给视图对象后,渲染出HTML页面再由前端控制器返回给客户端


目录
相关文章
|
2月前
|
存储 算法 索引
HashMap的实现原理
HashMap基于哈希算法实现,采用链表散列结构(数组+链表/红黑树)。JDK1.8前使用拉链法解决冲突,将冲突元素存入链表。JDK1.8后,当链表长度超过8时,转化为红黑树以提升查找效率;当元素数小于6时,退化为链表。通过key的hashCode计算索引,put时若key相同则覆盖,不同则添加到链表或树中。get时通过hash值定位并判断key获取对应值。
183 0
|
XML Java 数据格式
【二十九】springboot整合logback实现日志管理
【二十九】springboot整合logback实现日志管理
383 1
|
NoSQL Java Redis
请勿过度依赖Redis的过期监听
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! Redis过期监听场景 业务中有类似等待一定时间之后执行某种行为的需求 , 比如30分钟之后关闭订单 . 网上有很多使用Redis过期监听的Demo , 但是其实这是个大坑 , 因为Redis不能确保key在指定时间被删除 , 也就造成了通知的延期。
请勿过度依赖Redis的过期监听
|
3月前
|
监控 Java 数据安全/隐私保护
阿里面试:SpringBoot启动时, 如何执行扩展代码?你们项目 SpringBoot 进行过 哪些 扩展?
阿里面试:SpringBoot启动时, 如何执行扩展代码?你们项目 SpringBoot 进行过 哪些 扩展?
|
2月前
|
存储 NoSQL MongoDB
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
108 8
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
|
2月前
|
JSON 前端开发 Java
Spring MVC 核心组件与请求处理机制详解
本文解析了 Spring MVC 的核心组件及请求流程,核心组件包括 DispatcherServlet(中央调度)、HandlerMapping(URL 匹配处理器)、HandlerAdapter(执行处理器)、Handler(业务方法)、ViewResolver(视图解析),其中仅 Handler 需开发者实现。 详细描述了请求执行的 7 步流程:请求到达 DispatcherServlet 后,经映射器、适配器找到并执行处理器,再通过视图解析器渲染视图(前后端分离下视图解析可省略)。 介绍了拦截器的使用(实现 HandlerInterceptor 接口 + 配置类)及与过滤器的区别
147 0
|
8月前
|
缓存 NoSQL 关系型数据库
Redis与MySQL的数据一致性
在高并发环境下,保持 Redis 和 MySQL 的数据一致性是一个复杂但重要的问题。通过采用读写穿透、写穿透、分布式锁、双写一致性保障和延时双删策略,可以有效地减少数据不一致的风险,确保系统的稳定性和可靠性。通过合理的缓存策略和数据同步机制,可以显著提升系统的性能和用户体验。
353 22
|
8月前
|
云安全 监控 安全
服务器的使用安全如何保障
德迅卫士主机安全软件,采用自适应安全架构,有效解决传统专注防御手段的被动处境,精准捕捉每一个安全隐患,为您的主机筑起坚不可摧的安全防线
|
9月前
|
负载均衡 Java Nacos
常见的Ribbon/Spring LoadBalancer的负载均衡策略
自SpringCloud 2020版起,Ribbon被弃用,转而使用Spring Cloud LoadBalancer。Ribbon支持轮询、随机、加权响应时间和重试等负载均衡策略;而Spring Cloud LoadBalancer则提供轮询、随机及Nacos负载均衡策略,基于Reactor实现,更高效灵活。
574 0