近简单的看了一遍how tomcat works这本书,感觉和现在的版本差距太大了,所以随便写点记录下源码的阅读过程,如果有写的不好的地方或者有错误的地方 希望大家能帮忙指正下

 

大家启动tomcat基本上都是通过调用startup.bat或者是startup.sh

先看基于windows的bat脚本 startup.bat

 

 然后看下catalina.bat,这里可以看到很多注释

 

参数里面主要有这几个是jvm相关的

JAVA_HOME(jdk根目录),JRE_HOME(jre根目录),JAVA_OPTS(jvm的参数),JPDA_OPTS(jpda java调试相关)

至于jpda有什么用 可以参考这个

http://wuzhaohuixy-qq-com.iteye.com/blog/2106639

还有一部分参数是关于tomcat本身的 譬如读取日志的配置文件位置LOGGING_CONFIG  日志管理的处理类 LOGGING_MANAGER tomcat的TITLE

继续往下一个一个看这些参数是怎么玩的

 

首先看一下下面

这里调用了setenv.bat ,但是我们在bin目录下并没有找到该文件 通过名字也知道是来设置环境的,

所以通常的做法是里面修改 javahome以及设置是否远程调试等  在里面设置变量和额外的脚本等   在不同的环境下就不用每次都去修改catalina.bat文件(尽量不要修改tomcat自身的脚本)  直接在setenv里面改就行 

也不用每个系统都必须在环境变量中配置javahome

接下来看到几行setclasspath的命令

这里会直接调用bin目录下的setclasspath.bat文件  打开setclasspath.bat

 

 

里面主要是用来判断 我们配置的(或者环境变量)javahome中的 几个java相关的exe文件是否存在

接下来就是 配置tomcat远程调试 和日志相关的  因为后期重点在于java源码解读 所以这里就不详细说明 有两个比较详细的博客大家可以参考下

这个是解读catalina.bat的

http://supportopensource.iteye.com/blog/1884919

这个是解读startup.bat的

 http://supportopensource.iteye.com/blog/1884916

 

 

其中重头戏在这里:

 

 启动类 在bootstrap 

下一章  从bootstrap类开始慢慢了解整个tomcat源码

 

posted on 2018-01-20 16:14  生活的节操在哪儿  阅读(77)  评论(1)    收藏  举报