Tomcat目录结构图如下:
1、bin目录
寄存一些可执行的二进制文件,.sh 结尾的为linux下执行命令,.bat 结尾的为windows下执行命令。
- catalina.sh:真正启动tomcat文件,能够在外面设置jvm参数。
- startup.sh:启动tomcat(需当时配置好JAVA_HOME环境变量才可启动,该命令源码理论执行的为catalina.sh start)。
- shutdown.sh:敞开tomcat。
- version.sh:查看tomcat版本相干信息。
2、conf目录
寄存tomcat相干配置文件的。
2.1、catalina.policy
我的项目平安文件,用来避免坑骗代码或JSP执行带有像System.exit(0)这样的命令,可能影响容器的毁坏。 只有当Tomcat用-security命令行参数启动时这个文件才会被应用,即启动tomcat时, startup.sh -security 。
2.2、catalina.proterties
配置tomcat启动相干信息文件
2.3、context.xml
监督并加载资源文件,当监督文件发生变化时,主动加载,通常不会去配置
2.4、jaspic-providers.xml和jaspic-providers.xsd
不罕用文件
2.5、logging.properties
tomcat日志文件配置,包含输入格局、日志级别等。
2.6、server.xml
外围配置文件:批改端口号,增加编码格局等
外围组件介绍:
<1>Server:最顶层元素,而且惟一,代表整个tomcat容器。一个Server元素蕴含一个或者多个Service元素;
<2>Service:对外提供服务的。一个Service元素蕴含多个Connector元素,然而只能蕴含一个Engine元素;
<3>Connector:接管连贯申请,创立Request和Response对象用于和申请端替换数据;而后调配线程让Engine来解决这个申请,并把产生的Request和Response对象传给Engine
<4>Engine:Engine组件在Service组件中有且只有一个;Engine是Service组件中的申请解决组件。Engine组件从一个或多个Connector中接管申请并解决,并将实现的响应返回给Connector,最终传递给客户端。
<5>Host:代表特定的虚拟主机。
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
**name:**虚拟主机的主机名。比方 localhost 示意本机名称,理论利用时应该填写具体域名,比方 www.dog.com ,当然如果该虚拟主机是给内部人员拜访的,也能够间接填写服务器的 ip 地址,比方 192.168.1.101;
**appBase:**设置 Web 应用程序组的门路。appBase 属性的值能够是绝对于 Tomcat 装置目录的相对路径,也能够是绝对路径,须要留神的是该门路必须是 Tomcat 有权限拜访的;
**unpackWARs:**是否主动开展war压缩包再运行Web应用程序,默认值为true;
**autoDeplay:**是否容许主动部署,默认值是 true,示意 Tomcat 会自动检测 appBase 目录上面的文件变动从而主动利用到正在运行的 Web 应用程序;
**deployOnStartup:**为true时,示意Tomcat在启动时查看Web利用,且检测到的所有Web利用视作新利用;
<6>Context:该元素代表在特定虚拟主机Host上运行的一个Web利用,它是Host的子容器,每个Host容器能够定义多个Context元素。动态部署Web利用时应用。
<Context path="/" docBase="E:\Resource\test.war" reloadable="true"/>
**path:**浏览器拜访时的路径名,只有当主动部署齐全敞开(deployOnStartup和autoDeploy都为false)或docBase不在appBase中时,才能够设置path属性。
**docBase:**动态部署时,docBase能够在appBase目录下,也能够不在;本例中,不在appBase目录下。
**reloadable:**设定我的项目有改变时,从新加载该我的项目。
2.7、tomcat-users.xml和tomcat-users.xsd
tomcat-users.xml:tomcat用户配置文件,配置用户名,明码,用户具备权限
tomcat默认没有配置任何用户,只有配置好用户后能力应用以下Tomcat Manager三个性能:
<role rolename="manager-gui"/><role rolename="manager-script"/><user username="tomcat" password="tomcat" roles="manager-gui"/><user username="admin" password="123456" roles="manager-script"/>
tomcat-users.xsd:对tomcat-users.xml文件的形容和束缚
2.8、web.xml
web利用相干通用配置,能够做上面这些事件。
- 配置servlet
- 增加过滤器,比方过滤敏感词汇
- 设置session过期工夫,tomcat默认30分钟
- 注册了很多MIME类型,即文档类型。这些MIME类型是客户端与服务器之间阐明文档类型的,如用户申请一个html网页,那么服务器还会通知客户端浏览器响应的文档是text/html类型的,这就是一个MIME类型
- 配置零碎欢送页
3、lib目录
寄存tomcat依赖jar包的。
其中ecj-x.x.x.jar起到了将.java文件编译成.class字节码文件的作用。
4、logs目录
寄存tomcat运行时产生的日志文件。
在windows环境中,日志文件输入到catalina.xxxx-xx-xx.log文件中。
在linux环境中,日志文件输入到catalina.out文件中。
大体有以下几类:
catalina.xxxx-xx-xx.log | windows下日志文件输入内容 |
---|---|
host-manager.xxxx-xx-xx.log | 拜访webapps下host-manager我的项目日志 |
localhost.xxxx-xx-xx.log | tomcat启动时,本身拜访服务,只记录tomcat拜访日志,而非业务我的项目日志 |
localhost\_access\_log.xxxx-xx-xx.txt | 示意拜访tomcat下所有我的项目日志记录 |
manager.xxxx-xx-xx.log | 拜访webapps下manager我的项目日志 |
5、temp目录
用户寄存tomcat在运行过程中产生的临时文件(清空不会对tomcat运行带来影响)。
6、webapps目录
用来寄存应用程序,能够以文件夹、war包、jar包的模式公布利用。当然也能够将应用程序放在磁盘的任意地位,在配置文件中映射好即可。
默认自带以下5个我的项目:
7、work目录
用于寄存tomcat在运行时的编译后文件(清空该目录下所有内容,重启tomcat,可达到革除缓冲的作用)
作者:京东科技 杨建
起源:京东云开发者社区 转载请注明起源