![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Tomcat源码分析
文章平均质量分 71
会跑的茶叶蛋
这个作者很懒,什么都没留下…
展开
-
Tomcat源码分析:1——成功运行
这个步骤参考了博客https://blog.csdn.net/qq_35448165/article/details/103792637 1.在官网下载src的zip文件 2.在源码的解压目录里添加pom.xml 我用的tomcat8 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XM原创 2021-04-20 20:39:13 · 80 阅读 · 0 评论 -
Tomcat源码解析8——Context容器
8. Context容器 Context容器代表一个WebApp。 8.1Context的配置文件 Context在解析server.xml文件的时候就会被创建,然后在web应用的/META-INF/context.xml文件中进行属性的添加。 而Tomcat源码自带的conf/下的context.xml是配置所有context容器的属性。 8.2 Wrapper——包装器 Wrapper是最小的容器,一个Wrapper对应一个Servlet。 8.3 Realm,AccessLog 在Engine和Ho原创 2021-04-24 21:47:45 · 326 阅读 · 1 评论 -
Tomcat源码解析7——Host 容器
7.Host 容器 7.1 Context——web应用 每个Host包括若干个Context容器。 7.2 Host包含的与Engine相同的组件 PipeLine,cluster,realm, 7.3 HostConfig——生命周期监听器 一搜监听事件的实现方法,好家伙两个。后来仔细看了一下,第二个lifecycleEvent是在内部类ExpandedDirectoryRemovalListener中的。 第一个这个是HostConfig的监听的实现方法。HostConfig感兴趣的事件有 Lifec原创 2021-04-24 21:45:56 · 105 阅读 · 0 评论 -
Tomcat源码分析:6——Engine容器
6.Engine容器 Tomcat一共有四个容器,Engine是最大的。 Engine是全局的引擎容器,它的标准实现是StandardEngine [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kBYdkhSn-1619271794419)( )] Engine都包括什么呢? 6.1 Host——组件 Host是Engine的子容器,表示为一个虚拟主机。 6.2 AccessLog—— 访问日志 记录客户端访问记录的。 6.3 Pipeline——管道 Tomcat每个容器都原创 2021-04-24 21:44:59 · 180 阅读 · 0 评论 -
Tomcat源码分析:4—— 生命周期
4. 生命周期——Lifecycle 4.1 事件监听机制 链接:事件监听机制 4.2 分析Tomcat中应用监听机制的案例 比如catalina中的load()方法中执行的getServer().init(); 这里传入的server对象是StandardServer对象,StandardServer继承了LifecycleMBeanBase,LifecycleMBeanBase又继承了LifecycleBase。 .init()是在LifecycleBase中实现的方法。 public void loa原创 2021-04-22 19:13:01 · 98 阅读 · 0 评论 -
Tomcat源码分析:3—— 整体架构的预览
整体架构的预览 参考书:Tomcat内核设计剖析 3.1.1 Server Server是最顶级的组件,她代表Tomcat的运行实例,在一个JVM中只会包含一个Server。 3.1.2Service Service是服务的抽象,它代表请求从接受到处理的所有组件的集合。一个Server中可以有多个Service 3.1.3 Connector Connector是用来接受客户端连接,并接受消息报文,消息报文经由它解析后送往容器中处理。 目前Tomcat包含两种协议的Connector:HTTP,AJP。原创 2021-04-21 18:06:49 · 94 阅读 · 0 评论 -
Tomcat源码分析:2——分析源码的启动流程
个人整理,如有错误,非常欢迎指正。 总的来说,tomcat的启动,主要是这个图的流程(简化的) 下面是具体分析 1.执行static静态代码块 静态代码块在主函数之前执行,用来查找一下这两个值得路径的 Constants.CATALINA_BASE_PROP //tomcat实例安装路径 Constants.CATALINA_HOME_PROP //tomcat产品安装路径 这俩路径分别是 /** * Name of the system property containing原创 2021-04-21 09:38:54 · 85 阅读 · 0 评论