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的通知,以便他所引用的类可以被清除,避免内存泄露。
控制台信息输出
输出如下:
设置tomcat的启动类
设置 tomcat 远程调试相关参数
开启远程调试功能后,eclipse 中配置 host 和 port 然后debug 就可以远程调试tomcat中的程序了。
其它启动模式
除了远程调试启动模式,还有如下几种启动模式
从这可以看出,启动tomcat、关闭tomcat都是调用的catalina.bat。
run和start 的区别是,是否在新窗口启动tomcat。
run是在本窗口中执行。
start是新开一个窗口执行。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
推荐阅读
-
Vue中的基础过渡动画及实现原理解析
-
Mybaits 源码解析 (六)----- 全网最详细:Select 语句的执行过程分析(上篇)(Mapper方法是如何调用到XML中的SQL的?)
-
Python中Lambda表达式的详细解析
-
解析php中session的实现原理以及大网站应用应注意的问题
-
详细解析在版式设计中"线"的构成和运用
-
SqlServer中tempdb的日志机制原理解析及示例分享
-
rem布局完成响应式开发,通俗且详细的原理解析和代码实现
-
jQuery中delegate和on的用法与区别详细解析
-
JavaScript中的return布尔值的用法和原理解析
-
详解关于react-redux中的connect用法介绍及原理解析