- 博客(5)
- 收藏
- 关注
原创 Tomcat 9 源码分析(1)— 启动与停止
Tomcat 9 源码分析(1)— 启动与停止前言本文分析的Tomcat版本为Tomcat9.0,该版本与Tomcat8,Tomcat7大体一致,仅在部分地方有所改动,而目前最新的Tomcat10则与之前的版本相差较大。这是本人第一次阅读主流技术的源码,碍于个人能力原因,无法独自完成源码的阅读,因此本文参考了许多大佬们的文章,在本次学习中主要参考了泰山不老生博主的博客,很感谢能够翻阅到大佬的文章,所学甚多,受益匪浅。愿编码半生,如一生老友,你也加油。Tomcat模块Tomcat的模块如图,
2021-04-08 19:33:33 346 1
原创 Tomcat 9 源码分析(5)— Session管理
Session管理Session可以用来管理用户的会话信息,最常见的就是拿Session来存放用户登录、身份、权限及状态等信息。对于使用Tomcat作为Web容器的大部分开发人员而言,本文介绍分析Tomcat是如何实现Session标记用户和管理Session信息Session接口Tomcat内部定义了Session和HttpSession这两个会话相关的接口,其类继承体系如下Session:Tomcat中有关会话的基本接口规范,下面介绍它定义的主要方法方法描述getCrea
2021-04-08 19:39:42 318
原创 Tomcat 9 源码分析(4)— 请求过程原理
Tomcat请求处理ConnectorConnector(连接器)组件是Tomcat最核心的两个组件之一,主要的职责就是负责接收客户端连接和客户端请求的处理加工。每个Connector都将指定一个端口进行监听,分别负责对请求报文的解析和响应报文组装,解析过程生成Request对象,而组装过程涉及Response对象如果将Tomcat整体比作一个巨大的城堡,那么Connector组件就是城堡的城门,每个人要进入城门就必须通过城门,它为人们进出城堡提供了通道。同时,一个城堡还可能有两个或者多个城门,每个城
2021-04-08 19:39:00 347
原创 Tomcat 9 源码分析(3)— 生命周期管理
Tomcat生命周期类接口设计![avator][tomcatLifecycle]Lifecycle:定义了容器生命周期,容器状态转换及容器状态迁移时间的监听器注册和移除等主要接口LifecycleBase:作为Lifecycle接口的抽象实现类,运用抽象模板模式将所有容器的生命周期及状态转换衔接起来,此外还提供了生成LifecycleEvent事件的接口LifecycleSupport:提供有关LifecycleEvent事件的监听器注册、移除,并且使用经典的监听器模式,实现事件生成后触发监听器
2021-04-08 19:35:26 247
原创 Tomcat 9 源码分析(2)— 类加载体系
Java虚拟机主要类加载器Bootstrap Loader(启动类加载器):加载lib目录下或者System.getProperty("sun.boot.class.path")、或者-XBootclasspath所指定的路径或jarExtended Loader(扩展类加载器):加载lib\ext目录下或者System.getProperty("java.ext.dirs")所指定的路径或jar。在使用Java运行程序时,也可以指定其搜索路径,例如:java -Djava.ext.dirs=
2021-04-08 19:34:35 168
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人