Tomcat
文章平均质量分 68
山水有相逢2023
做一个热爱分享、会写作的程序员
展开
-
Tomcat源码分析之Connector
Connector全类名:org.apache.catalina.connector.Connector;构造方法创建Http11NioProtocol,给成员变量protocolHandler赋值。也可以根据server.xml的配置,修改指定的protocol<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="844原创 2022-04-20 10:11:09 · 331 阅读 · 0 评论 -
Tomcat源码分析之Engine
Engine全类名:org.apache.catalina.core.StandardEngine;由类依赖图可知,Engine是一个生命周期的类,实现了Lifecycle,也是一个容器,实现了Container。Container有4个子接口,实现了该接口的也都是容器。我们继续从Engine开始来分析它们之间的关系。Engine实现类:org.apache.catalina.core.StandardEngine;创建/** * Create a new StandardEng原创 2022-04-19 12:55:54 · 584 阅读 · 0 评论 -
Tomcat源码分析之Server和Service
Server全类名:org.apache.catalina.core.StandardServer;由类依赖图可知,Server是一个生命周期的类,实现了Lifecycle,生命周期对应的枚举类LifecycleState。public enum LifecycleState { // 创建 NEW(false, null), // 初始化 INITIALIZING(false, Lifecycle.BEFORE_INIT_EVENT), // 初始化完成原创 2022-04-18 07:23:43 · 458 阅读 · 0 评论 -
Tomcat源码分析之Catalina
Catalina全类名:org.apache.catalina.startup.Catalinacatalina.load(args)执行Bootstrap类的load(args)方法,会执行catalina.load(args)方法。catalina.load(args),代码/** * Start a new server instance. */ public void load() { // 省略 // Parse main原创 2022-04-17 14:05:55 · 880 阅读 · 0 评论 -
Tomcat源码分析之Bootstrap
Bootstrap全类名:org.apache.catalina.startup.Bootstrap执行Bootstrap的main方法进行启动,核心会执行三个方法:Bootstrap bootstrap = new Bootstrap();bootstrap.init();bootstrap.load(args);bootstrap.start();bootstrap.init()该方法会调用initClassLoaders方法,创建3个类加载器private void initCla原创 2022-04-17 10:09:38 · 419 阅读 · 0 评论