java获取tomcat目录结构_Tomcat目录结构详解
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目录结构详解相关推荐
- html页面的盒子边框怎么做的,HTML+CSS入门 用三层盒子结构实现多边框详解
本篇教程介绍了HTML+CSS入门 用三层盒子结构实现多边框详解,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 如果想给每个盒子加上美观的border,实现如下效果 如果 ...
- 服务器给站点读写权限,IIS7目录权限设置的问题详解Windows服务器操作系统 -电脑资料...
今天自己把服务器安装了windows 2008同时也是iis7了,但是在设置权限时有些小问题不了解后来百度了才知道解决办法, 前段时间在windows server 2008 r2 (x64)服务器上 ...
- python scatter参数详解_matplotlib.pyplot.scatter散点图结构及用法||参数详解
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=N ...
- go结构体初始化_go嵌套匿名结构体的初始化详解
go匿名结构体 嵌套匿名结构体的 示例代码片. type debugConfig struct { MaxQueueDepth int `json:"maxQueueDepth"` ...
- DedeCMS织梦网站目录创建及后台基本操作详解
DedeCMS织梦网站是比较流行的自助建站的一种方式,开放性使其具有很大的优势,也成为很多中小型企业及个人站长节省成本的选择.前面小编已经为大家分享了<新手搭建DEDE织梦网站的详细操作流程&g ...
- c语言结构体成员变量私有化,C语言中结构体变量私有化详解
C语言中结构体变量私有化详解 背景介绍 操作系统 : CentOS7.3.1611_x64 gcc版本 :4.8.5 什么是结构体? 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚 ...
- C++中的结构体vector排序详解
C++中的结构体vector排序详解 使用sort函数对一个vector很常用,前提是通文件中必须包含#include ,但是针对结构体vector排序则需要进行一定的改动.具体事例如下所示: // ...
- C语言结构体与指针ppt,c语言指针和结构体:链表详解.ppt
c语言指针和结构体:链表详解.ppt 1,第十一章 链表,2,例跳马.依下图将每一步跳马之后的位置x,y放到一个"结点"里,再用"链子穿起来",形成一条链,相邻 ...
- apache-maven-xxx\conf目录下的settings文件详解
apache-maven-xxx\conf目录下的settings文件详解 settings.xml的作用 它是用来设置Maven参数的配置文件.并且,settings.xml是Maven的全局配置文 ...
- Java网络编程(6)NIO - Channel详解
前言 NIO的三个核心组件:Buffer.Channel.Selector Java网络编程(4)NIO的理解与NIO的三个组件完成了大概的了解 Java网络编程(5)NIO - Buffer详解详细 ...
最新文章
- 基于Keras的CNN/Densenet实现分类
- 爬虫入门的基本原理,如果你连这些都不知道那你可以放弃爬虫了
- MySQL中实现Oracle里面 rank()over ( PARTITION BY ORDER BY) 分类分组功能
- linux下创建用户及组
- ubuntu18.04安装、配置dosbox
- 首次打开(更新版本)APP向导界面
- html的table属性笔记
- systemtap打点方法
- 【perl脚本】单行循环正则匹配
- 天天飞车六大研发经验
- 系统架构师论文-论新技术的引进
- 基层干部计算机培训方案,基层管理干部培训方案
- 集线器故障诊断与排除
- 当你对未来迷茫的时候,请打开这个锦囊
- 用户解锁不存在_“sim卡无效,显示lte,电信掉3g,通讯录+86”等出现在卡贴“tmsi解锁模式”中的解决方法...
- C语言的美学:斐波那契,你会吗?
- 迁移学习——综述文献
- java面试宝典2013
- hbase基于solr配置二级索引
- Glide 入门到精通之四——图片缩放和调整大小