Tomcat源码分析(1)-Tomcat整体架构

时间:2020-06-26 19:06:07   收藏:0   阅读:71

一、整体说明

tomcat需要完成两件事情:

整体可以抽象为如下:

技术分享图片

 二、整体代码架构

在tomcat的代码中抽象了以下三个类:

另外还抽象了一个Service类,用来包装Connector和Container类。

A "Service" is a collection of one or more "Connectors" that share
       a single "Container" Note:  A "Service" is not itself a "Container",
       so you may not define subcomponents such as "Valves" at this level

其中

整体代码架构如下:

技术分享图片

上图中Connector监听到请求后最终把HTTP(TCP)请求转换成了Servlet请求传给Container。

三、Service类分析

tomcat中Service类的实现类是StandardService类

技术分享图片

 Service接口核心代码

public interface Service  {

    public Engine getContainer();

    public void setContainer(Engine engine);

    public Server getServer();

    public void setServer(Server server);


    public void addConnector(Connector connector);

    public Connector[] findConnectors();

    public void removeConnector(Connector connector);
   
}

 可以看到Service主要负责调度Connector和Container。

原文:https://www.cnblogs.com/Brake/p/13195723.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!