博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Tomcat分析-启动过程
阅读量:4523 次
发布时间:2019-06-08

本文共 2983 字,大约阅读时间需要 9 分钟。

 

 

 

  • Server是Tomcat最顶层的容器
  • Service用于提供服务
  • Connector用于处理连接相关的事情,并提供Socket与request和response的转换
  • Container用于封装和管理Servlet,以及具体处理request请求

一、启动过程

  • Catalina:是Tomcat的管理类
  • Bootstrap:是Tomcat的入口类

1、Bootstrap启动过程

 
image.png
  • 第465行bootstrap.init();
 
image.png

main方法作用

  • init方法初始化了ClassLoader,并用ClassLoader创建了Catalina实例,然后赋值给catalinaDaemon变量
  • 根据main方法args参数执行对应的生命周期方法,以start方法为例
 
image.png
  • 利用反射调用Catalina的start方法,实际上就是走的Catalina类的生命周期方法

说到生命周期方法,就得知道那几个方法是生命周期方法了

  • start
  • stop
  • load
  • 还有一个重要的方法:await,他不是生命周期方法,但是他让主线程不会退出。

2、Catalina启动过程

WEB-INF/web.xml
${catalina.base}/conf/web.xml
default
org.apache.catalina.servlets.DefaultServlet
debug
0
listings
false
1

转载于:https://www.cnblogs.com/zgq123456/p/10150660.html

你可能感兴趣的文章
python3之正则表达式
查看>>
Visual Studio提示“无法启动IIS Express Web服务器”的解决方法
查看>>
Java 时间总结
查看>>
JavaScript 累加求和练习
查看>>
jQuery EasyUI 拖放 – 基本的拖动和放置
查看>>
这些年正Android - 母亲
查看>>
vue2.0: 页面跳转后,回到此页面时,页面不刷新(多用于列表页与详情编辑页之间的跳转)...
查看>>
负载均衡简介
查看>>
vue+iview实现table和分页及与后台数据交互
查看>>
线段相交吗
查看>>
Redis 5.0
查看>>
Centos 修改主机名
查看>>
密码验证
查看>>
SAP:建表时如果有QUAN、CURR类型的字段不能激活的问题
查看>>
数组的简单练习题
查看>>
day5
查看>>
P4171 [JSOI2010]满汉全席
查看>>
windows service自动重启服务
查看>>
python jQuery event 取不到更改的方案(暂时)
查看>>
悲观锁和乐观锁
查看>>