Tomcat启动发生的那些事儿

一、Tomcat下有9个目录,分别是:bin,common,conf,logs,server,shared,temp,webapps,work。Tomcat的根目录在<CATAlINA_HOME>.

1、<CATAlINA_HOME>/bin下放的一般是可执行文件。比如startup.sh,shutdown.sh(linux),以及在windows下的startup.bat和shutdown.bat。

2、<CATAlINA_HOME>/commom存放lib库,该lib库是Tomcat服务器以及所有web应用都能访问的JAR(即java字节码以.class结尾的文件)

3、<CATAlINA_HOME>/shared下存放所有web应用能够访问到的,但tomcat本身不能使用的lib库

4、<CATAlINA_HOME>/server。在server/webapps中,有两个Tomcat自带的两个app,admin和manager应用,用来管理Tomcat的web应用。在server/lib下存放Tomcat能够使用但是web应用不能使用的JAR

5、<CATAlINA_HOME>/work。Tomcat把JSP生成的Servlet文件放在这个目录下。按web应用的名字进行的分类。

6、<CATAlINA_HOME>/logs存放Tomcat的日志文件。

7、<CATAlINA_HOME>/conf 存放Tomcat的各种配置文件,其中最重要的是web.xml。

8、<CATAlINA_HOME>/webapps  web应用的发布目录,把war或者web工程放在这就可以进行访问了。要想别的机器也能访问,把自己的防火墙关了,要不然别的机器访问不了。

二、加载的顺序:

1、Bootstrap(加载JAVA_HOME/jre/lib/ext/*jar)

2、System(加载CLASSPATH/*.class和jar)

3、Common(加载<CATAlINA_HOME>/Common下的classes,lib等下的文件)

4、Catalina(加载<CATAlINA_HOME>/server下的classes和lib目录,这些只有Tomcat可以使用,WEB应用使用不了)

5、Shared(<CATAlINA_HOME>/shared目录下的classes和lib目录以及<CATAlINA_HOME>/lib目录,这些仅对web应用可用,对Tomcat不可用)

6、Webapp(webapps下的web应用/WEB-INF/仅对WEB应用可见的classes/*.class以及lib/*.jar)。

三、类搜索顺序

1、你的web应用下的WEB-INF/classes/*.class

2、你的web应用下的WEB-INF/lib/*.jar

3、<CATAlINA_HOME>/common目录下的库和.class

4、<CATAlINA_HOME>/shared目录下的库和.class

5、jdk下的库和.class

时间: 2024-07-30 05:42:24

Tomcat启动发生的那些事儿的相关文章

linux:记录一次 处理tomcat启动卡死无报错现象的曲折过程

一.环境 系统:CentOS 5.5 tomcat 6.0 jdk1.6 二.问题现象     我们公司近期请人做的某个项目的一期要完成了,因对方负责java开发的工程师都不懂linux,而且也没有专职的linux工程师,最后的最后就是只能我来部署了,刚开始也没觉得会有多麻烦,按以往的套路来就好了嘛,好吧,先把项目在我本地环境(windows)跑一下,然而...... ........(省略因开发环境不一样造成的揪心过程,还有对方代码的各种坑,然而我还拿不到源文件..) 一翻折腾,终于在本地运行

Tomcat启动会遇到的问题部分解决方案

Tomcat的启动不一定会非常的顺利,这可以有多种原因 一.Tomcat是由Java所编写的,因此Tomcat的使用需要JDK的支持,如果没有配置环境变量,Tomcat当然无法启动,最明显的特征就是点击“startup.bat”会出现闪退,因此要在环境变量中设置“JAVA_HOME”的值为JDK的主目录,然后再在startup.bat和shutdown.bat中的首行加入 SET JAVA_HOME = F:\JDK_KitSET CATALINA_HOME = F:\TomCat_8.0.24

tomcat启动时就频繁gc和full gc

一个小业务,流量并不大,功能也很简单,spring framework+mybatis+quartz,一启动就看到gc的频次和full gc的频次非常高: 4.202: [Full GC 4.202: [Tenured: 0K->6653K(349568K), 0.1948910 secs] 139776K->6653K(506816K), [Perm : 26687K->26687K(26688K)], 0.1950470 secs] [Times: user=0.20 sys=0.0

Tomcat启动时卡在&ldquo;INFO: Deploying web application directory ......&rdquo;的解决方法

转载地址:http://blog.csdn.net/njchenyi/article/details/46641141 第一次遇到Tomcat在Linux服务器启动卡住的情况,情况很简单,tomcat启动以后卡在INFO: Deploying web application directory ......这句话,具体会卡多久就没测试了.google.baidu都没找到解决方法. 幸亏UCloud的技术支持人员给出了解决方案. 找到jdk1.x.x_xx/jre/lib/security/Jav

How Tomcat works — 四、tomcat启动(3)

上一节说到StandardService负责启动其子组件:container和connector,不过注意,是有先后顺序的,先启动container,再启动connector,这一节先来看看container. 目录 Pipeline和Vavle StandardEngine类和StandardHost类 StandardContext类 总结 Pipeline和Vavle 在第二节(How Tomcat works — 二.tomcat启动(1))中没有介绍关于Pipeline和Vavle,因

CentOS7.4 系统下 Tomcat 启动慢解决方法

CentOS7.4 系统下 Tomcat 启动慢解决的方法 首先查看日志信息,查看因为什么而启动慢 在CentOS7启动Tomcat时,启动过程很慢,需要几分钟,经过查看日志,发现耗时在这里:是session引起的随机数问题导致的.Tocmat的Session ID是通过SHA1算法计算得到的,计算Session ID的时候必须有一个密钥.为了提高安全性Tomcat在启动的时候会通过随机生成一个密钥. 22-Apr-2017 19:33:07.623 INFO [localhost-startS

spring boot tomcat 打本地包成war,通过Tomcat启动时出现问题: ZipException: error in opening zip file

一个第三方公司提供spring boot 项目,直接启动是ok的, 但是打包成war,通过Tomcat启动,就出现 ZipException: error in opening zip file: 20-Mar-2019 15:48:28.385 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [F:\dev\apache-t

Tomcat架构解析(二)-----Connector、Tomcat启动过程以及Server的创建过程

Connector用于跟客户端建立连接,获取客户端的Socket,交由Container处理.需要解决的问题有监听.协议以及处理器映射等等. 一.Connector设计   Connector要实现的主要功能如下: 设计图如下: 1.ProtocolHandler Connector中的ProtocolHandler用于处理不同的通信协议,Tomcat主要支持HTTP.AJP协议,并且支持BIO.NIO.APR等I/O方式.ProtocolHandler中使用AbstractEndpoint启动

Tomcat启动分析(我们为什么要配置CATALINA_HOME环境变量)

原文:http://www.cnblogs.com/heshan664754022/archive/2013/03/27/2984357.html Tomcat启动分析(我们为什么要配置CATALINA_HOME环境变量) 用文本编辑工具打开用于启动Tomcat的批处理文件startup.bat,仔细阅读.在这个文件中,首先判断CATALINA_HOME环境变量是否为空,如果为空,就将当前目录设为CATALINA_HOME的值.接着判断当前目录下是否存在bin\catalina.bat,如果文件