JSP | Tomcat目录结构详解
前排提醒:本文不涉及如何安装 Tomcat,仅分析Tomcat目录结构。
Tomcat 版本:apache-tomcat-8.5.71
Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。十分有必要了解Tomcat目录结构。
总结概括:
一级目录
bin ——Tomcat执行脚本目录
conf ——Tomcat配置文件
lib ——Tomcat运行需要的库文件(JARS)
logs ——Tomcat执行时的LOG文件
temp ——Tomcat临时文件存放目录
webapps ——Tomcat的主要Web发布目录(存放我们自己的JSP,SERVLET,类)
work ——Tomcat的工作目录,Tomcat将翻译JSP文件到的Java文件和class文件放在这里。
二级目录(仅列出一级目录下几个重要的文件)
(1) bin目录下的文件
- catalina.sh 用于启动和关闭tomcat服务器
- configtest.sh 用于检查配置文件
- startup.sh 启动Tomcat脚本
- shutdown.sh 关闭Tomcat脚本
(2) conf目录下的文件
- server.xml Tomcat 的全局配置文件
- web.xml 为不同的Tomcat配置的web应用设置缺省值的文件
- tomcat-users.xml Tomcat用户认证的配置文件
(3) lib目录下的文件
- 包含被Tomcat使用的各种各样的jar文件。
(4) logs目录下的文件
- localhost_access_log.2013-09-18 .txt 访问日志
- localhost.2013-09-18.log 错误和其它日志
- manager.2013-09-18.log 管理日志
- catalina.2013-09-18.log Tomcat启动或关闭日志文件
(5) webapps目录下的文件
- 含Web应用的程序(JSP、Servlet和JavaBean等)
(6) work目录下的文件
由Tomcat自动生成,这是Tomcat放置它运行期间的中间( intermediate)文件(诸如编译的JSP文件)地方。
如果当Tomcat运行时,你删除了这个目录那么将不能够执行包含JSP的页面。
\]
目录结构
解压Tomcat后的目录结构如下图

各目录及文件说明
| 目录及文件 | 说明 |
|---|---|
| bin | 用于存放 Tomcat的启动、停止等批处理脚本和Shell脚本 |
| bin/startup. bat | 用于在 Windows下启动 Tomcat |
| bin/startup.sh | 用于在 Linux下启动 Tomcat |
| bin/shutdown. bat | 用于在 Windows下停止 Tomcat |
| bin/shutdown.sh | 用于在 Linux下停止 Tomcat |
| conf | 用于存放 Tomcat的相关配置文件 |
| conf/Catalina | 用于存储针对每个虚拟机的 Context 配置 |
| conf/context.xml | 用于定义所有Web应用均需要加载的 Context 配置,如果Web应用指定了自己的context.xml,那么该文件的配置将被覆盖 |
| conf/catalina.properties | Tomcat环境变量配置 |
| conf/catalina.policy | 当 Tomcat在安全模式下运行时,此文件为默认的安全策略配置 |
| conf/logging.properties | Tomcat日志配置文件,可通过该文件修改 Tomcat日志级别以及日志路径等 |
| conf/server.xml | Tomcat服务器核心配置文件,用于配置 Tomcat的链接器、监听端口、处理请求的虚拟主机等。可以说,Tomcat主要根据该文件的配置信息创建服务器实例 |
| conf/tomcat-users.xml | 用于定义 Tomcat默认用户及角色映射信息,Tomcat的 Manager模块即用该文件中定义的用户进行安全认证 |
| conf/web.xml | Tomcat中所有应用默认的部署描述文件,主要定义了基础 Servlet和MIME映射。如果应用中不包含 Web. xml,那么 Tomcat将使用此文件初始化部署描述,反之,Tomcat会在启动时将默认部署描述与自定义配置进行合并 |
| lib | Tomcat服务器依赖库目录,包含 Tomcat服务器运行环境依赖lar包 |
| logs | Tomcat默认的日志存放路径 |
| webapps | Tomcat默认的Web应用部署目录 |
| work | 存放Web应用JSP代码生成和编译后产生的class文件目录 |
| temp | 存放tomcat在运行过程中产生的临时文件 |
bin目录
用于存放 Tomcat的启动、停止等批处理脚本和Shell脚本

conf目录
用于存放 Tomcat的相关配置文件

lib目录
Tomcat服务器依赖库目录,包含 Tomcat服务器运行环境依赖lar包

webapps目录
Tomcat默认的Web应用部署目录

temp目录
存放tomcat在运行过程中产生的临时文件

work 目录
Tomcat的工作目录,Tomcat将翻译JSP文件到的Java文件和class文件放在这里。
JSP | Tomcat目录结构详解的更多相关文章
- [转帖]Tomcat目录结构详解
Tomcat目录结构详解 https://www.cnblogs.com/veggiegfei/p/8474484.html 之前应该是知道一点 但是没有这么系统 感谢原作者的描述. 1.bin: 该 ...
- Tomcat目录结构详解
1.bin: 该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat6.exe.tomcat6w.exe,前者是在控制台下启动Tomcat,后者是弹出UGI窗口 ...
- Linux文件系统的目录结构详解
Linux文件系统的目录结构详解 一.前 言 文章对Linux下所有目录一一说明,对比较重要的目录加以重点解说,以帮助初学者熟练掌握Linux的目录结构. 二.目 录 1.什么是文件系统 2.文件 ...
- Angular-cli新建项目目录结构详解
Angular-cli新建项目目录结构详解 在上一篇博客中我们已经通过Angular CLI命令行工具创建出来一个全新的Angular项目,要想写项目,首先我们要先搞清楚项目的目录结构是怎样的,每个文 ...
- Linux目录结构(目录结构详解是重点)
1.Linux目录与Windows目录对比 1.Windows目录结构 2.Linux目录结构 深刻理解Linux 树状文件目录是非常重要的,只有记住他们,你才能在命令行中任意切换,想去哪里去哪里 2 ...
- Nuxt.js学习(二) --- Nuxt目录结构详解、Nuxt常用配置项、Nuxt路由配置和参数传递
[TOC] 1.Nuxt目录结构详解 Nuxt项目文件目录结构 |-- .nuxt // Nuxt自动生成,临时的用于编辑的文件,build |-- assets // 用于组织未编译的静态资源入LE ...
- Linux 目录结构详解
Linux目录详解 Linux目录详解(RHEL5.4) 由于linux是开放源代码,各大公司和团体根据linux的核心代码做各自的操作,编程.这样就造成在根下的目录的不同.这样就造成个人不能使用他人 ...
- Tomcat7目录结构详解
1.bin:该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat6.exe.tomcat6w.exe,前者是在控制台下启动Tomcat,后者是弹出UGI窗口启 ...
- Vue脚手架(vue-cli)搭建和目录结构详解
一.环境搭建 1.安装node.npm.webpack,不多说 2.安装vue-cli脚手架构建工具,打开命令行工具输入:npm install vue-cli -g,安装完成之后输入 vue -V( ...
- Android开发:程序目录结构详解
HelloWorld程序的目录结构概述 我们可以在文件夹中看到,HelloWorld程序的目录主要包括:src文件夹.gen文件夹.Android文件夹.assets.res文件夹. AndroidM ...
随机推荐
- 关于fstream对象的open方法报错183的问题
当使用fstream,ifstream,ofstream,这几种对象打开文件, 但文件已经存在的时候, 调用GetLastError()函数,会返回错误代码183, 这个代码代表该文件已经存在,是正常 ...
- MySQL8.0 安装教程
一.下载 1.官网地址 MySQL :: Download MySQL Community Server 2.选择安装包安装方式 3.选择安装版本 4.开始下载 5.下载成功 二.安装 1.双击安装包 ...
- serdes与PCIE的区别
serdes和PCIE是两种非常常见的总线.因为PCIE也是差分信号传输,所以做硬件时比较难区别PCIE和serdes的具体差异点. 两者之间的区别主要表现在以下几点: 1.PCIE使用了SERDES ...
- 笔记3:Tensorflow2.0实战之MNSIT数据集
最近Tensorflow相继推出了alpha和beta两个版本,这两个都属于tensorflow2.0版本:早听说新版做了很大的革新,今天就来用一下看看 这里还是使用MNSIT数据集进行测试 导入必要 ...
- Elasticsearch入门到进阶
Elasticsearch 一.Elasticsearch 是什么(中文官网)? Elasticsearch 是一个分布式的免费开源搜索和分析引擎,适用于包括文本.数字.地理空间.结构化和非结构化数据 ...
- 开发AI量化策略所遇到的坑
AI只是工具,想要驾驭AI还得自身有点功底,不然反而会被工具所害,甚至从信仰AI变为抵制AI.本文简单介绍开发AI量化选股策略中所遇到的各种坑,希望大家有所收获,少走弯路. 本文为BigQuant用户 ...
- Celery 定义和调用异步任务Task
https://docs.celeryq.dev/en/stable/userguide/tasks.html 使用app.task装饰器定义 需要通过导入celery app,然后使用@app.ta ...
- 大四jsp实训项目技术总结
crm项目总结 ①静态资源疯狂报错?很有可能是后端的问题,后端出了问题,服务器取不出来资源. 记住:只要服务器取不到某个资源,很有可能导致所有资源都取不出来. 一个经典案例:某个数据库映射文件 ICu ...
- BUUCTF Web CyberPunk WriteUp
想直接查看payload的点这里 前言 二次注入(Second-Order Injection)是指攻击者在应用程序中注入恶意数据,然后在稍后的操作或不同的上下文中再次使用该恶意数据,导致安全漏洞.它 ...
- 文心一言 VS 讯飞星火 VS chatgpt (19)-- go语言的slice和rust语言的Vec的扩容流程是什么?
go语言的slice和rust语言的Vec的扩容流程是什么? 文心一言: 在Go语言中,slice(切片)和Rust语言中的Vec都是用于存储一组固定长度的元素的数据结构.它们的扩容流程略有不同,下面 ...