java获取tomcat目录结构_Tomcat目录结构详解

本文详细介绍了Tomcat的目录结构,包括bin、conf、lib、logs、temp、webapps、work等目录的功能及重要配置文件如server.xml、web.xml的作用。还解释了各个核心组件如Server、Service、Connector、Engine、Host和Context的角色,以及如何通过配置实现虚拟主机、Web应用的管理和部署。
摘要由CSDN通过智能技术生成

Tomcat目录结构图如下:

e6fc342d89117cae0fc01bb906d73cee.png

bin目录

存放一些可执行的二进制文件,.sh结尾的为linux下执行命令,.bat结尾的为windows下执行命令。

catalina.sh:真正启动tomcat文件,可以在里面设置jvm参数。

startup.sh:启动tomcat(需事先配置好JAVA_HOME环境变量才可启动,该命令源码实际执行的为catalina.sh start)。

shutdown.sh:关闭tomcat。

version.sh:查看tomcat版本相关信息。

conf目录

存放tomcat相关配置文件的。

8bf668519ae2c0d3494dfd9a806a7078.png

catalina.policy

项目安全文件,用来防止欺骗代码或JSP执行带有像System.exit(0)这样的命令,可能影响容器的破坏。 只有当Tomcat用-security命令行参数启动时这个文件才会被使用,即启动tomcat时, startup.sh -security 。

catalina.proterties

配置tomcat启动相关信息文件

context.xml

监视并加载资源文件,当监视文件发生变化时,自动加载,通常不会去配置

jaspic-providers.xml和jaspic-providers.xsd

不常用文件

logging.properties

tomcat日志文件配置,包括输出格式、日志级别等。

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:代表特定的虚拟主机。

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应用时使用。

path:浏览器访问时的路径名,只有当自动部署完全关闭(deployOnStartup和autoDeploy都为false)或docBase不在appBase中时,才可以设置path属性。

docBase:静态部署时,docBase可以在appBase目录下,也可以不在;本例中,不在appBase目录下。

reloadable:设定项目有改动时,重新加载该项目。

tomcat-users.xml和tomcat-users.xsd

tomcat-users.xml:tomcat用户配置文件,配置用户名,密码,用户具备权限

tomcat默认没有配置任何用户,只有配置好用户后才能使用以下Tomcat Manager三个功能:

e50a3cb6107ab4543e704eb0c279c844.png

tomcat-users.xsd:对tomcat-users.xml文件的描述和约束

web.xml

web应用相关通用配置,可以做下面这些事情。

配置servlet

添加过滤器,比如过滤敏感词汇

设置session过期时间,tomcat默认30分钟

3a2d5275704fb3ecdd623f5653686830.png

注册了很多MIME类型,即文档类型。这些MIME类型是客户端与服务器之间说明文档类型的,如用户请求一个html网页,那么服务器还会告诉客户端浏览器响应的文档是text/html类型的,这就是一个MIME类型

配置系统欢迎页

282e739ff2e96ae8af46e1e2e4be12e4.png

lib目录

存放tomcat依赖jar包的。

其中ecj-x.x.x.jar起到了将.java文件编译成.class字节码文件的作用。

703e0d58006cabf90135bb153e684910.png

logs目录

存放tomcat运行时产生的日志文件。

在windows环境中,日志文件输出到catalina.xxxx-xx-xx.log文件中。

在linux环境中,日志文件输出到catalina.out文件中。

大体有以下几类:

575706cf0e3af97bec7018bb940ac578.png

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项目日志

temp目录

用户存放tomcat在运行过程中产生的临时文件(清空不会对tomcat运行带来影响)。

webapps目录

用来存放应用程序,可以以文件夹、war包、jar包的形式发布应用。当然也可以将应用程序放在磁盘的任意位置,在配置文件中映射好即可。

默认自带以下5个项目:

11f3dbd71aa61a5b77c8293dbc3d0416.png

work目录

用于存放tomcat在运行时的编译后文件(清空该目录下所有内容,重启tomcat,可达到清除缓冲的作用)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值