▲统一功能——DispatcherServlet源码分析

1.servlet的生命周期

init

init方法只执行一次

service

service方法执行多次

destory

destory方法只执行一次

2.核心方法//

根据请求【processRequest】找到处理器【mappedHandler】

得到:

怎么找到的?

DispatcherServlet加载时,执行一次init方法

存储注解和方法的映射,后续请求的时候就根据它存储的映射 来获取【处理器】【mapperHandler】

然后

根据【处理器】【mapperHandler】找到对应的适配器【HandlerAdapter】

执行【拦截器的preHandler】方法

拦截器放行,执行【目标方法】:

执行拦截器的postHandler方法:

执行拦截器的afterCompletion方法

3.适配器

spring基于servlet开发,支持servlet和controller,所以要用适配器选择对应的

适配器模式

Slf4j门面模式

具体实现logback,log4j

实现

适配器模式的应用场景

相关推荐
金銀銅鐵25 分钟前
JDK 21 中 List.of 的实现细节:从 List12 到 ListN
java·后端·ai编程
yeccheng2 小时前
MySQL 索引超详解:从底层 B+ 树到面试高频考点
java·开发语言·jvm·mysql·面试
这个昵称不容易2 小时前
SpringBoot 读书笔记共享平台部署实战:97 个 Java 文件 / 113 个接口 / 10 张表
java·springboot·毕设
金銀銅鐵5 小时前
一个 Java 文件实现《孫子兵法·始計篇》中英对照阅读器
java·后端·ai编程
DevOpenClub5 小时前
高考教育信息问答 API:会话参数、资料引用与流式响应
java·数据库·高考
bro_Java6665 小时前
《排序的底层逻辑:比较、交换与分治》
java·算法·排序算法
文丑颜不良啊6 小时前
LeetCode2081~2100题目解析
java·leetcode
玖米GEO运营王总监7 小时前
2026年账号矩阵协同效应怎么量化:三个指标与公式结构
java·大数据·数据库
叼烟扛炮8 小时前
[LangChain] 学习笔记(03):打破失忆症——对话机制与上下文管理
java·前端·javascript·笔记·学习·langchain