整个过程还是比较复杂的,我尝试着总结一下,方便大家理解和记忆,Tomcat的启动过程主要由一下几个步骤:
1.bootstrap.init
加载启动类:加载启动相关的类加载器及类,创建Catelina对象
2.bootstrap.load
加载配置文件:主要包括server.xml 和web.xml ,其中server.xml用于配置Tomcat的基础服务,比如端口号,线程池等;web.xml用于配置web应用程序的参数,servlet和过滤器等消息。
初始化组件:依次初始化tomcat的各个组件,包括server,service,connetor,engine,host,context,它们都是tomcat运行的重要组成部分
3.bootstrap.start
启动服务:当所有组件初始化完成后,tomcat会依次启动connector ,engine,host,context,最终启动整个tomcat 服务
部署应用:启动完成,会臊面指定的web应用程序目录,自动部署已经打包好的web应用程序
以上步骤执行完之后,一个web应用就启动了,后续有请求到达时,会根据请求的url匹配相应的context,然后将请求转发到相应的servlet或jsp进行处理.