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 · 230 阅读 · 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 · 289 阅读 · 0 评论 -
Tomcat源码走读 05-tomcat的容器初始化过程
05-tomcat的容器初始化过程介绍容器初始化过程之前,让我们先来看下tomcat容器的类继承关系图。Lifecycle:顶级接口:定义了添加,删除,查找生命周期监听器的方法,以及init,stop等。MBeanRegistration:顶级接口,定义一些注册jmx其后的处理方法。LifecycleBase: 成员LifecycleSupport作用是发布生命周期事件。定义了init,...原创 2019-07-28 16:43:40 · 239 阅读 · 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 · 215 阅读 · 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 · 267 阅读 · 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 · 248 阅读 · 0 评论 -
Tomcat源码走读 01-tomcat架构简介
01-tomcat架构简介总体架构:面向组件架构基于JMX事件侦听1)面向组件架构tomcat代码看似很庞大,但从结构上看却很清晰和简单,它主要由一堆组件组成,如Server、Service、Connector等,并基于JMX管理这些组件,另外实现以上接口的组件也实现了生命周期接口Lifecycle,使其组件履行固定的生存期,在其整个生存期的过程中通过事件侦听LifecycleEven...原创 2019-07-28 16:21:29 · 181 阅读 · 0 评论