tomcat之组件构成

容器

四种容器:Engine (引擎), Host(主机), Context(上下文), 和 Wrapper(包装器)

Catalina:

  Engine:表示整个 Catalina 的 servlet 引擎

· Host:表示一个拥有数个上下文的虚拟主机

· Context:表示一个 Web 应用,一个 context 包含一个或多个 wrapper

· Wrapper:表示一个独立的 servlet

添加容器:addChild(Container child)

阀门处理pipeline,ValveContext 的 invokeNext 方法

生命周期:Lifecycle

Lifecycle设计模式:接口启动管理对象,同时增加对象监听

tomcat之加载器:

创建org.apache.catalina.Loader 接口实现,同时实现Reloader接口,当类变更时重新加载。

tomcat有自己的servlet类加载器,直接使用系统加载器会加载任何类库,引起安全隐患。

java类加载:bootstap,扩展,系统(委托模型)

     SPI的加载动作:破坏双亲委托,通过线程类加载器切换上下文进行加载

tomcat的类加载:从最下层开始加载,不会双亲委托,如果父加载器想要加载子加载器中的类,可以通过线程上下文加载器去实现

参考资料:https://www.jianshu.com/p/3999de71e02f

你可能感兴趣的:(tomcat之组件构成)