从整体解读tomcat

一. tomcat的容器组件

     1.Engine,实现类StandardEngine

     2.Host,实现类StandardHost

     3.Context,实现类StandardContext

     4.Wrapper,实现类StandardWrapper

     容器类之间的关系如下:

      

 

 

容器的初始化顺序:  

 
 二. tomcat的连接器组件

       tomcat服务器在启动后,可以对外提供多个服务(默认只提供一个服务,见Server.xml),每个服务可以包含多个连接器.多个连接器可以使得Tomcat能服务于多个协议
       1. BIO Http  Connector,用io的方式处理http请求
       2. NIO Http Connector,用nio的方式处理http请求,支持长连接
       3. APR Http Connector,用C实现,通过JNI调用,可以提升对静态资源(如HTML,CSS,JS,图片等)的访问性能
       4. AJP Connector基于AJP协议,专门为tomcat与http服务器之间通信定制的协议 ,能提供较高的通信速度和效率

       以NIO Http Connector为例,tomcat连接器组件的初始化顺序:

      

 

 三.tomcatr的Pipeline和Value组件

         每种容器都有属于自己的Pipeline,默认实现类为StandardPipeline,
         每种容器都可以在自己的管道增加任意的Valve.自己实现的Value类在server.xml文件里面配置一下就可以使用了.
         每种容器都有一个默认的Value,命名通常为StandardXXXValue,如Engine默认的Value是StandardEngineValue.它们是每个容器的最后一个 执行的Value, 负责将请求传给它们的子容器,因此请求能一直向下执行

 

四,tomcat的整体架构图如下:

     

 

 从上图可以看出,请求从ProtocolHandler开始接入,一直到执行对应的Servlet结束

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值