Tomcat
Tomcat源码解析
dk2077
不积跬步,无以至千里;不积小流,无以成江海
展开
-
Tomcat源码解析:1、环境搭建(Eclipse为例)
源码分析第一步,当然是把源码导入自己的IDE,本文以Tomcat8.5.29为例,使用Ant工具进行代码编译,按照下面的步骤来就可以了下载Ant这里使用的是Ant1.10.5,下载地址:http://mirrors.shu.edu.cn/apache//ant/binaries/apache-ant-1.10.5-bin.zip这里注意:JDK必须在8以上,低于8使用Ant会出问题下载源码...原创 2018-12-23 10:34:39 · 217 阅读 · 0 评论 -
Tomcat源码解析:2、Tomcat结构组成
在看源码之前,我们首先得了解Tomcat的结构组成,并且了解它每个组件的作用,这样我们看才不会一脸懵逼。总体结构tomcat的总体架构如下图所示(摘自https://blog.csdn.net/Dwade_mia/article/details/79051404)如上图所示:Tomcat由Server、Service、Engine、Connector、Host、Context、Wrappe...原创 2018-12-23 13:13:07 · 268 阅读 · 0 评论 -
Tomcat源码解析:3、Tomcat生命周期Lifecycle
LifecycleLifecycle接口它是一个公用的接口,在Tomcat的组件中都直接或者间接的实现该类或者它的子类。所以它是一个非常重要的接口,定义了组件生命周期的一些方法,包括:init、start、stop、destroy,还有操作LifecycleListener的API,典型的观察者模式。所以它在Tomcat中起到了举足轻重的作用,熟悉它,对Tomcat的源码分析有非常大的帮助p...原创 2018-12-27 16:14:21 · 415 阅读 · 0 评论 -
Tomcat源码解析:4、Tomcat初始化
Bootstraporg.apache.catalina.startup.Bootstrap类是Tomcat的入口,当我们想在IDE中运行Tomcat进行调试,可以找到这个类直接运行main。我们看下Bootstrap的main方法 public static void main(String args[]) { if (daemon == null) { ...原创 2019-01-01 11:42:26 · 316 阅读 · 0 评论 -
Tomcat源码解析:5、Tomcat启动
Bootstraporg.apache.catalina.startup.Bootstrap类是Tomcat的入口,当我们想在IDE中运行Tomcat进行调试,可以找到这个类直接运行main方法。我们看下Bootstrap的main方法 public static void main(String args[]) { if (daemon == null) { ...原创 2019-01-02 19:47:15 · 304 阅读 · 0 评论 -
Tomcat源码解析:6、Digester XML原理解析
概要在Tomcat中使用了大量的xml文件去配置一些重要的信息,以达到程序与配置的解耦,比如server.xml、web.xml。解析XML文件的技术,Tomcat使用了Digester框架去解析xml。我们可能对Digester比较陌生,比较常用的解析xml的技术有JDK自带的SAX、还有比较出名的第三分Dom4j等等。Dom4j和SAX解析的区别Dom4j是把一个xml文件全部读取到内存...原创 2019-01-03 17:24:15 · 275 阅读 · 0 评论