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 的过滤逻辑,处理请求和响应。

🏷️

标签

➡️

继续阅读