首页 > 手机 > 华为 > 谈谈Tomcat多层容器的设计,设计Tomcat多层容器的一些原理

谈谈Tomcat多层容器的设计,设计Tomcat多层容器的一些原理

来源:整理 时间:2022-02-12 16:31:23 编辑:canmiss 手机版

并非只有Servlet才会去处理请求,查找路径上的父子容器都会对请求做一些处理:

  • 连接器中的Adapter会调用容器的Service方法执行Servlet
  • 最先拿到请求的是Engine容器,Engine容器对请求做一些处理后,会把请求传给自己子容器Host继续处理,依次类推
  • 最后这个请求会传给Wrapper容器,Wrapper会调用最终的Servlet来处理

这个调用过程使用的Pipeline-Valve管道,责任链模式,在一个请求处理的过程中有很多处理者依次对请求进行处理,每个处理者负责做自己相应的处理,处理完之后将再调用下一个处理者继续处理。

Valve表示一个处理点,比如权限认证和记录日志。

public interface Valve {
  public Valve getNext();
  public void setNext(Valve valve);
  public void invoke(Request request, Response response)
}
 
文章TAG:Tomcat多层容器Tomcat容器设计

最近更新