源码分析tomcat的启动过程

源码分析tomcat的启动过程

1. 运行tomcat\bin\startup.bat脚本启动tomcat

@echo off

setlocal

rem Guess CATALINA_HOME if not defined
rem 设置一个变量叫CURRENT_DIR,%cd%代表运行当前bat脚本的目录
set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME%" == "" goto gotHome
set "CATALINA_HOME=%CURRENT_DIR%"
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
cd ..
set "CATALINA_HOME=%cd%"
cd "%CURRENT_DIR%"
:gotHome
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
echo The CATALINA_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program
goto end
:okHome
rem EXECUTABLE变量代表catalina.bat这个可执行的脚本文件
set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"

rem Check that target executable exists
if exist "%EXECUTABLE%" goto okExec
echo Cannot find "%EXECUTABLE%"
echo This file is needed to run this program
goto end
:okExec

rem Get remaining unshifted command line arguments and save them in the
set CMD_LINE_ARGS=
:setArgs
if ""%1""=="""" goto doneSetArgs
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
shift
goto setArgs
:doneSetArgs

rem 以下这行代码相当于执行了tomcat的路径\bin\catalina.bat脚本,参数为start
call "%EXECUTABLE%" start %CMD_LINE_ARGS%

:end

2. startup.bat查找并调用catalina.bat,传递一个命令行参数start(在dos命令执行catalina.bat start中可以模拟该操作,也可以成功启动tomcat;同理,执行catalina.bat stop就可以关闭tomcat)

在这里插入图片描述

3. catalina.bat查找Java命令,用Java命令启动bootstrap.jar包

在这里插入图片描述
在这里插入图片描述

4.bootstrap.jar包中有org.apache.catalina.startup.Bootstrap主类

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值