Tomcat源码分析(2)--始于启动类
来源:互联网 发布:js实现数组去重 编辑:程序博客网 时间:2024/06/06 05:22
静态块
虽然Tomcat启动是由脚本文件开始的,但是最终的启动还是在Boostrap类,我们看到这个类中有一个静态块,代码如下:
主方法
核心方法总览
静态块之后就是主方法了,核心代码如下:
这里面实例化了Bootstrap 类并调用其init方法,完成了一些初始化工作,通过传递的参数确定当前需要执行的的命令为“start”,然后调用Bootstrap类实例的load和start方法。
init方法
- 方法总览
Bootstrap作为程序入口,在实例化对象后,执行了其init方法
这里完成了类加载器的初始化工作并将其设置为当前线程的上下文加载器,然后利用反射机制实例化了Catalina类,catalinaDaemon即代表该对象的实例
- initClassLoader方法
该方法实现如下:
这里的三个加载器都是在catalina.properties 中配置的,只是有两个为空而已
load方法
catalina类的load的方法实现如下:
在这个方法里面创建了一个Digester对象,并将当前对象压入Digester里的对象栈顶,根据inputSource里设置的server.xml文件路径及所创建的Digester对象所包含的解析规则生成相应对象,并调用相应方法将对象之间关联起来。
解析xml文件的规则在createStartDigester方法中
该方法定义如下(这里只截取部分代码)
根据server.xml文件 完成相关对象的实例化,这些对象的包含关系通过server.xml文件可以看出来
这些对象包括:
org.apache.catalina.core.StandardServerorg.apache.catalina.core.StandardServiceorg.apache.catalina.connector.Connectororg.apache.catalina.core.StandardEngineorg.apache.catalina.core.StandardHost。。。
当然除了这些主要的容器外还有其他的对象,这里不做过多阐述.
然后调用Server接口对象的init方法。
start方法
在这里调用Server接口实现类的start方法
阅读全文
0 0
- Tomcat源码分析(2)--始于启动类
- TOMCAT源码分析(启动框架)(转)
- Tomcat源码分析(1)--启动流程图
- TOMCAT源码分析(启动框架)
- TOMCAT源码分析(启动框架)
- TOMCAT源码分析(启动框架)
- TOMCAT源码分析(启动框架)
- TOMCAT源码分析(启动框架)
- TOMCAT源码分析(启动框架)
- TOMCAT源码分析(启动框架)
- TOMCAT源码分析(启动框架)
- TOMCAT源码分析(启动框架)
- Tomcat Server源码启动分析
- TOMCAT源码分析(启动框架)
- tomcat启动分析(源码框架)
- TOMCAT源码分析(启动框架)
- tomcat源码---启动过程分析
- TOMCAT源码分析(启动框架)
- 五款免费开源的语音识别工具
- POJ的层次感分类
- SSD-tensorflow使用文档(二)——从数据处理到iOS移植
- Linux初窥:常用命令之(文件搜索)
- html中的单选按钮radio如何实现可同时选中多个值进行表单提交
- Tomcat源码分析(2)--始于启动类
- 代理模式之桥接模式
- Android学习(九)@SerializedName注解的意义
- sc命令管理windows服务
- 读写非文本文件--IO流
- BDF2-64位dorado without eclipse安装配置
- 解析选择排序法与冒泡排序法的区别(数组实现和指针实现)
- 磁盘管理
- 有意思的++count与count++