Tomcat目录结构图如下:

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相关配置文件的。

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三个功能:

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

web.xml

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

配置servlet

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

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

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

配置系统欢迎页

lib目录

存放tomcat依赖jar包的。

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

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

temp目录

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

webapps目录

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

默认自带以下5个项目:

work目录

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

java获取tomcat目录结构_Tomcat目录结构详解相关推荐

  1. html页面的盒子边框怎么做的,HTML+CSS入门 用三层盒子结构实现多边框详解

    本篇教程介绍了HTML+CSS入门 用三层盒子结构实现多边框详解,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 如果想给每个盒子加上美观的border,实现如下效果 如果 ...

  2. 服务器给站点读写权限,IIS7目录权限设置的问题详解Windows服务器操作系统 -电脑资料...

    今天自己把服务器安装了windows 2008同时也是iis7了,但是在设置权限时有些小问题不了解后来百度了才知道解决办法, 前段时间在windows server 2008 r2 (x64)服务器上 ...

  3. python scatter参数详解_matplotlib.pyplot.scatter散点图结构及用法||参数详解

    matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=N ...

  4. go结构体初始化_go嵌套匿名结构体的初始化详解

    go匿名结构体 嵌套匿名结构体的 示例代码片. type debugConfig struct { MaxQueueDepth int `json:"maxQueueDepth"` ...

  5. DedeCMS织梦网站目录创建及后台基本操作详解

    DedeCMS织梦网站是比较流行的自助建站的一种方式,开放性使其具有很大的优势,也成为很多中小型企业及个人站长节省成本的选择.前面小编已经为大家分享了<新手搭建DEDE织梦网站的详细操作流程&g ...

  6. c语言结构体成员变量私有化,C语言中结构体变量私有化详解

    C语言中结构体变量私有化详解 背景介绍 操作系统 : CentOS7.3.1611_x64 gcc版本 :4.8.5 什么是结构体? 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚 ...

  7. C++中的结构体vector排序详解

    C++中的结构体vector排序详解 使用sort函数对一个vector很常用,前提是通文件中必须包含#include ,但是针对结构体vector排序则需要进行一定的改动.具体事例如下所示: // ...

  8. C语言结构体与指针ppt,c语言指针和结构体:链表详解.ppt

    c语言指针和结构体:链表详解.ppt 1,第十一章 链表,2,例跳马.依下图将每一步跳马之后的位置x,y放到一个"结点"里,再用"链子穿起来",形成一条链,相邻 ...

  9. apache-maven-xxx\conf目录下的settings文件详解

    apache-maven-xxx\conf目录下的settings文件详解 settings.xml的作用 它是用来设置Maven参数的配置文件.并且,settings.xml是Maven的全局配置文 ...

  10. Java网络编程(6)NIO - Channel详解

    前言 NIO的三个核心组件:Buffer.Channel.Selector Java网络编程(4)NIO的理解与NIO的三个组件完成了大概的了解 Java网络编程(5)NIO - Buffer详解详细 ...

最新文章

  1. 基于Keras的CNN/Densenet实现分类
  2. 爬虫入门的基本原理,如果你连这些都不知道那你可以放弃爬虫了
  3. MySQL中实现Oracle里面 rank()over ( PARTITION BY ORDER BY) 分类分组功能
  4. linux下创建用户及组
  5. ubuntu18.04安装、配置dosbox
  6. 首次打开(更新版本)APP向导界面
  7. html的table属性笔记
  8. systemtap打点方法
  9. 【perl脚本】单行循环正则匹配
  10. 天天飞车六大研发经验
  11. 系统架构师论文-论新技术的引进
  12. 基层干部计算机培训方案,基层管理干部培训方案
  13. 集线器故障诊断与排除
  14. 当你对未来迷茫的时候,请打开这个锦囊
  15. 用户解锁不存在_“sim卡无效,显示lte,电信掉3g,通讯录+86”等出现在卡贴“tmsi解锁模式”中的解决方法...
  16. C语言的美学:斐波那契,你会吗?
  17. 迁移学习——综述文献
  18. java面试宝典2013
  19. hbase基于solr配置二级索引
  20. Glide 入门到精通之四——图片缩放和调整大小

热门文章

  1. 如何使用VIM的Help
  2. crontab执行shell脚本日志中出现乱码
  3. 批量修改远程linux服务器密码
  4. Visual Basic、C# 和 C++ 的数据类型比较(转)
  5. 通过百度 vs 奇虎,来谈博客搜索
  6. C# using static 声明
  7. 公开征集 | 每个人都可以成为 COSCon'21 主论坛的开源明星
  8. EFCore 5 新特性 Savepoints
  9. BCVP第2期:项目已完成升级.NET5.0
  10. .NET Core Web APi大文件分片上传研究