zoukankan      html  css  js  c++  java
  • Tomcat源码

    BootStrap

    BootStrap是Tomcat的入口类
    

    源码流程图

    源码启动过程:

    ContainerBase的类关系图

    ContainerBase.startInternal()方法

    // Start our child containers, if any
    Container children[] = findChildren();
    List<Future<Void>> results = new ArrayList<>();
    for (int i = 0; i < children.length; i++) {
     // 这句代码就是会调用ContainerBase下的一个个子容器的call方法
     results.add(startStopExecutor.submit(new StartChild(children[i])));
    }
    

    查看new StartChild要执行的call方法

    private static class StartChild implements Callable<Void> {
        private Container child;
        public StartChild(Container child) {
          this.child = child;
       }
        @Override
        public Void call() throws LifecycleException {
          child.start();
          return null;
       }
     }
    

    如下图可以清晰的看出container包含的组件

    StandardHost将一个个web项目部署起来

    StandardContext.startInternal()解析web.xml和添加wrapper

  • 相关阅读:
    三、linux系统管理
    二、基本命令
    一、基本环境
    mysql-day4
    mysql-day3
    mysql-day2
    mysql-day1
    3、线性表的链式存储结构
    2、线性表之顺序表
    1、时间复杂度
  • 原文地址:https://www.cnblogs.com/snail-gao/p/12165439.html
Copyright © 2011-2022 走看看