![](https://img-blog.csdnimg.cn/20190820154713687.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
tomcat
tomcat源码解析
枫林晚丶
吾日三省吾身
展开
-
Tomcat源码走读 07-tomcat处理请求
07-tomcat处理请求 在上一章06-tomcat的容器启动过程中,我们知道了处理请求的逻辑在Accptor里面。本章我们直接从这里往后描述。 1. JIoEndpoint.processSocket() protected boolean processSocket(Socket socket) { try { SocketWrapper<Soc...原创 2019-07-28 16:55:06 · 203 阅读 · 0 评论 -
Tomcat源码走读 06-tomcat的容器启动过程
06-tomcat的容器启动过程 在02-tomcat的启动和关闭流程中,在容器初始化之后,Catalina.start()方法会触发容器的启动流程。 public void start() { try { getServer().start(); } catch (LifecycleException e) { } ...原创 2019-07-28 16:50:26 · 281 阅读 · 0 评论 -
Tomcat源码走读 05-tomcat的容器初始化过程
05-tomcat的容器初始化过程 介绍容器初始化过程之前,让我们先来看下tomcat容器的类继承关系图。 Lifecycle:顶级接口:定义了添加,删除,查找生命周期监听器的方法,以及init,stop等。 MBeanRegistration:顶级接口,定义一些注册jmx其后的处理方法。 LifecycleBase: 成员LifecycleSupport作用是发布生命周期事件。定义了init,...原创 2019-07-28 16:43:40 · 221 阅读 · 0 评论 -
Tomcat源码走读 04-tomcat的server.xml解析
04-tomcat的server.xml解析 tomcat的server.xml的解析依靠的是Digester对象,入口在Catalina.load()中。 1.Digester digester = createStartDigester(); protected Digester createStartDigester() { Digester digester = new D...原创 2019-07-28 16:37:01 · 206 阅读 · 0 评论 -
Tomcat源码走读 03-tomcat的类加载器
03-tomcat的类加载器 tomcat类加载器结构图: 1)bootstrap ClassLoader:它用来加载 Java 的核心类,是用原生代码来实现的,并不继承自 java.lang.ClassLoader,负责加载$JAVA_HOME中jre/lib/rt.jar里所有的class,由C++实现,不是ClassLoader子类。 2)extension ClassLoader:它负责...原创 2019-07-28 16:31:46 · 234 阅读 · 0 评论 -
Tomcat源码走读 02-tomcat的启动和关闭流程
02-tomcat的启动和关闭流程 本套代码走读基于tomcat7.0的源码,分析之前,先下载tomcat源码,导入ide。可以参考 https://blog.csdn.net/z583773315/article/details/56353311 我们平时使用tomcat启动都是使用startup.bat或startup.sh脚本,所以要分析启动流程可以先看下这个脚本。以start.bat为类:...原创 2019-07-28 16:27:09 · 242 阅读 · 0 评论 -
Tomcat源码走读 01-tomcat架构简介
01-tomcat架构简介 总体架构: 面向组件架构 基于JMX 事件侦听 1)面向组件架构 tomcat代码看似很庞大,但从结构上看却很清晰和简单,它主要由一堆组件组成,如Server、Service、Connector等,并基于JMX管理这些组件,另外实现以上接口的组件也实现了生命周期接口Lifecycle,使其组件履行固定的生存期,在其整个生存期的过程中通过事件侦听LifecycleEven...原创 2019-07-28 16:21:29 · 170 阅读 · 0 评论