前言
自己在做后台开发时,每次都是直接运行startup.sh(服务器是linux环境)。但是运行之后tomcat到底干了啥,自己也是一脸懵逼。于是专门去研究了研究tomcat启动过程。下面缩写的是基于Windows环境下的,linux的执行流程也是一样的
执行startup.bat
在windows操作系统中,我们运行tomcat只需要执行startup.bat脚本就好,startup.bat文件的主要操作有:
1.对环境变量的检查(OS,CATALINA_HOME)从而采取不同的操作,对一些全局变量赋值(CURRENT_DIR,EXECUTABL)
2.就是找到catalina.bat文件,然后把参数传递给它,在startup.bai中,调用catalina.bat的命令call “%EXECUTABLE%” start %CMD_LINE_ARGS%,其中”%EXECUTABLE%”这个就是catalina.bat文件这个命令至少向catalina.bat传递一个参数–start.
执行catalina.bat
在catalina.bat中,主要进行的操作有:
1.对java的运行环境进行校验和java环境变量的设置,,如果操作失败,则退出程序
2.将tomcat-juli.jar和bootstrap.jar的全路径最佳到CLASSPATH中,设置一些log选项,jdpa的操作,如果指定参数-securify,这加载安全策略文件
3.设置Bootstrap中主函数参数,然后调用Bootstrap主函数( MAINCLASS=org.ap