Tomcat 系列篇四-介绍下 Valve 架构
💡
原文中文,约13200字,阅读约需32分钟。
📝
内容提要
本文介绍了 Tomcat 架构中的 valve 和 pipeline 机制,pipeline 可以添加 valve,Valve 在其中起到前后衔接的作用。对于 container 和 context 的 pipeline,分别有不同的第一个 valve。最后,wrapper 的 pipeline 会调用 filterChain 去处理请求。
🎯
关键要点
- valve 是 Tomcat 架构中的重要组成部分,负责请求处理的前后衔接。
- pipeline 机制允许在其中添加多个 valve,形成有序的处理链。
- container 和 context 的 pipeline 有不同的第一个 valve,container 的 pipeline 使用 basic valve 作为兜底。
- StandardPipeline 的 getFirst 方法返回第一个 valve,若没有则返回 basic valve。
- ErrorReportValve 处理错误报告,调用下一个 valve 的 invoke 方法。
- StandardHostValve 和 StandardContextValve 负责处理请求的上下文和认证相关逻辑。
- wrapper 的 pipeline 通过 StandardWrapperValve 处理请求,涉及 filterChain 的调用。
- filterChain 负责执行 servlet 的过滤逻辑,处理请求和响应。
🏷️
标签
➡️