Tomcat核心组件的架构层次
一个Catalina的请求过程
相当于每一个应用对应多个Servlet, 封装为wrapper
Engine: 引擎
对应多个Host
Host: 虚拟主机
对应多个Context, 应用
Context:
对应多个Wrapper, 相当于Servlet
Host, Wrapper, Context, Engine 都是实现了Container接口
Container接口特点:
管道和阀门, 通过阀门可以限制存储。
StandardHost
StandardContext
``
StandardWrapper
StandardEngine
都实现了ContainerBase
抽象类, 这个接口是容器的父类
LifecleMBeanBase
定义了start()
, stop()
, init()
, destroy()
等生命周期方法
就start()
方法分析, 先是通过状态模式进行分析, 然后留给子类一个模板方法模式, 进行扩展, startInternal()