Tomcat中的catalina.bat原理详细解析

前言

本文主要给大家详细解析了关于Tomcat中catalina.bat原理的相关内容分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

tomcat 的真正启动是在 catalina.bat 设置并启动的。startup.bat 只是找到catalina.bat 然后执行catalina.bat 来启动tomat的。下面我们来分析下catalina.bat

验证CATALINA_HOME 环境变量

  • 验证CATALINA_HOME 设置是否正确,如果不正确,重新设置CATALINA_HOME 环境变量。
  • 如果在CATALINA_HOME\bin目录下找不到catalina.bat,则结束(这里基本不会出现这种情况的,除非catalina.bat 没在tomcat的bin目录下)

设置环境变量

 

      1. 在 CATALINA_BASE 和 CATALINA_BASE 目录下查找 setenv.bat 文件并执行,找不到则不执行。

      2. 查找 setclasspath.bat 文件,并执行,找不到则结束

setclasspath.bat 设置java相关的环境变量。

tomcat 日志管理

tomcat-juli.jar 添加到classpath环境变量中。
并把日志的配置文件路径添加到 LOGGING_CONfig 环境变量

tomcat-juli.jar 作用

Apache Tomcat由一个自己的实现了java.util.logging多个关键元素的实现。这个实现被称为JULI。实现的核心组件是定制化的LogManager,可以获取运行在Tomcat中的不同web应用(以及不同的class loader)。他支持为应用配置单独的日志配置。当有web应用从内在中是被卸载时,会接到Tomcat的通知,以便他所引用的类可以被清除,避免内存泄露。

控制台信息输出

输出如下:

Paste_Image.png

设置tomcat的启动类

设置 tomcat 远程调试相关参数

Paste_Image.png

开启远程调试功能后,eclipse 中配置 Host 和 Port 然后Debug 就可以远程调试tomcat中的程序了。

Paste_Image.png

其它启动模式

除了远程调试启动模式,还有如下几种启动模式

从这可以看出,启动tomcat、关闭tomcat都是调用的catalina.bat。

run和start 的区别是,是否在新窗口启动tomcat。

run是在本窗口中执行。

start是新开一个窗口执行。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程小技巧的支持

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...