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 ...
随机推荐
- C语言水仙花数
#include<stdio.h> void main() { int i, j, k, n=100;//分别设置三个数和一个三位数 for(i=1;i<=9;i++) //一个一个 ...
- Python有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
n = 0 for i in range(1, 5): for j in range(1, 5): for k in range(1, 5): if(i != k) and (i != j) and ...
- 「有问必答」秒杀系统 Go并发编程实践!
有问必答 摘要 本文将介绍如何使用Go语言的并发原语来构建一个简单的高并发秒杀系统. 我们将使用Go语言的原生库和一些常见的技术手段,包括互斥锁.通道.计数器等,来解决并发访问和数据一致性的问题. 本 ...
- Object.assign () 和深拷贝
先看看啥叫深拷贝?啥叫浅拷贝? 假设B复制了A,修改A的时候,看B是否发生变化: 如果B跟着也变了,说明是浅拷贝,拿人手短!(修改堆内存中的同一个值) 如果B没有改变,说明是深拷贝,自食其力!(修改堆 ...
- 什么是Session;request.getSession().setAttribute()
Session:会话控制,是服务器为了保存用户状态而创建的一个特殊的对象.=>用于存储信息的一个对象 当我们在服务端使用session时,首先要获取session,下面这个图就对服务器获取ses ...
- C++ Qt开发:ProgressBar进度条组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍Progres ...
- 从零开始用 Axios 请求后端接口
对于前端同学来说,请求后端接口是一个非常通用的东西.在十几年前的时候,我们还用 Ajax 去请求后端接口.但在 2023 年的今天,很多框架都很成熟了,我们有了更加快捷的方式 -- Axios 框架. ...
- 如何保障Cookie的信息安全
一.支持策略 保障 Cookie 的安全性可以从以下几个方面进行: 使用 HttpOnly 属性:设置 HttpOnly 属性可以防止JavaScript Document.cookie API 无法 ...
- java通过url得到文件对象(支持http和https)
文字标题:java通过url得到文件对象(支持http和https) 作者:锅巴 1.场景:通过一个url地址来得到一个文件,此方式就是通过一个url将文件下载到本地的临时文件,直接上代码 /** * ...
- 酷表ChatExcel -北大出品免费自动处理表格工具
酷表ChatExcel是通过文字聊天实现Excel的交互控制的AI辅助工具,期望通过对表输入需求即可得到处理后的数据(想起来很棒),减少额外的操作,辅助相关工作人员(会计,教师等)更简单的工作.Cha ...