Tomcat学习积累笔记---Tomcat源码查看

Tomcat学习积累笔记—Tomcat源码查看

1.启动流程时序图解读

在这里插入图片描述

tomcat启动脚本,先执行startup.sh,之后指向catalina.sh,之后catalina.sh指向了Tomcat中的Bootstrap启动类,通过这样启动的java应用
  1. startup.sh/startuo.bat先调用Bootstrap的main函数,先进入Bootstrap中
  2. Bootstrap先进行init初始化,就是先调用自己的init方法,这个方法在初始化一些类加载器
  3. Bootstrap再调用自己的load方法,这个load方法调用了Catalina的构造方法
  4. Catalina是一个全局的Servlet容器的一个实例,就是一个Servlet容器
  5. Catalina先创建一个Server
  6. Catalina初始化,调用了Server的init方法
  7. Server初始化调用了Service的init方法
  8. Service的初始化调用了Engine的init方法
  9. Engine初始化调用了host的init方法
  10. host的初始化调用了Context的init方法
  11. Service初始化同时也调用了Executor的init方法
  12. Service初始化同时也调用了Connector的init方法
  13. Connector的初始化也调用了ProtocolHandler的init方法,而且ProtocolHandler是一个组合的组件,这里面有一个EndPoint的组件(进行socket处理的),就是初始化这个组件的(完成通信端点的),完成接口的绑定
  14. 当BootStrap中的load方法执行完毕后,BootStrap还会调用start方法
  15. BootStrap还会调用Catalina的start方法,把容器启动
  16. Catalina调用Server的start方法
  17. Server调用Service的start方法
  18. … …一直到23都是逐层调用

2.容器生命周期管理机制

Tomcat中的各容器组件都会涉及创建、销毁等,因此设计了⽣命周期接⼝Lifecycle进⾏统⼀规范,各容器组件实现该接⼝。
1. Lifecycle⽣命周期接⼝主要⽅法示意

在这里插入图片描述

2. Lifecycle⽣命周期接⼝继承体系示意

在这里插入图片描述

3.接口ProtocolHandler查看

1. ProtocolHandler是个组合组件,在这里面定义了TCP/IP以及Http协议的
2. ProtocolHandler接口的实现类

在这里插入图片描述

4. Mapper组件机制及请求处理机制

  1. 请求处理流程分析
    在这里插入图片描述
  2. Mapper组件体系结构
    1. MapElement:是一个基类,里面的属性只有name,object
      在这里插入图片描述
  3. 请求处理流程示意图
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值