Tomcat源码分析之—容器整体结构

系统 1724 0

     Tomcat有多个容器组成,而Container也就是容器与Connecter连接器是Tomcat最核心的两个模块,Connecter连接器接收客户端的请求,并根据客户端的请求传递给Container处理并作出相应。

Tomcat中有多个层次的容器对象:Engine、Host、Context、Wrapper,这些容器是有层级关系的。

  • Engine:代表整个Tomcat的Servlet引擎,可以包含一个或多个子容器
  • Host:    表示一个虚拟主机,包含多个Context
  • Context :表示一个ServletContext,包含一个或多个Wrappers容器
  • Wrappers:表示一个独立的Servlet定义,可以是多个servlet或一个servlet实例

     所有的容器都继承ContainerBase抽象类, ContainerBase抽象类实现Container接口,Container继承Lifecycle接口用于实现对容器的生命周期的统一管理。

Container接口定义了静态字段来表示添加或移除子容器时的事件类型(如下图):

                            Tomcat源码分析之—容器整体结构

通过下面图片我们看下ContainerBase的类结构,由于篇幅有限方法过多这里就不列出接口、类的字段与方法了:

                          Tomcat源码分析之—容器整体结构

                                                ContainerBase类图

   1、Lifecycle接口:就是我们前面介绍过的用于控制Tomcat所有组件生命周期的接口定义。
   2、LifecycleBase抽象类:实现了Lifecycle接口用户Tomcat所有组件生命周期的管理类。
   3、MBeanRegistration接口:用于使Tomcat支持JMX而定义的接口。
   4、LifecycleMBeanBase抽象类:继承了LifecycleBase与实现了MBeanRegistration接口,实现了JMX的支持。
   5、Container接口:就是我们所有容器的接口,定义了容器通用的字段还有方法。
   6、ContainerBase抽象类:所有容器的基类,实现了一些子容器管理的方法(添加、移除、查找),子容器的启动、实现了容器事件监听对象的管理、包括对Loader、      Logger、Manager、Realm、Resources组件的管理、还包括了Pipeline、Valve对象的管理等。

   Tomcat所有容器类图如下(省略了字段、方法):

  Tomcat源码分析之—容器整体结构

                                               容器类图

 

这节就先分析到这里,下面我们在详细分析Tomcat中的每个容器。

文章首发地址: Solinx 

http://www.solinx.co/archives/101

Tomcat源码分析之—容器整体结构


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论