Tomcat 超详细入门教程(安装 + 目录 + 配置 + 部署 + 排错)

大家好,本文专注整理 Tomcat 核心知识点,从安装、目录结构、配置、项目部署到常见问题,一次性讲透,适合 JavaWeb 初学者、校招与面试复习。

一、Tomcat 是什么

Tomcat 是 Apache 开源的轻量级 Java Web 服务器,也叫 Web 容器,主要用于运行 Servlet、JSP 等 Java Web 应用。

特点开源免费、轻量、启动速度快学习开发首选,企业使用范围广泛运行必须依赖 JDK 环境

二、Tomcat 与 Servlet 版本对应

Tomcat 6 对应 Servlet 2.5

Tomcat 7 对应 Servlet 3.0

Tomcat 8.5 与 Tomcat 9 对应 Servlet 3.1 与 4.0

学习推荐使用 Tomcat 8.5 或 Tomcat 9

三、Tomcat 安装(推荐解压版)

3.1 安装前提

必须安装 JDK,并配置系统环境变量JAVA_HOME 指向 JDK 安装根目录Path 中添加 % JAVA_HOME%\bin

3.2 解压版安装步骤

下载 Tomcat 压缩包 zip 格式解压到无中文无空格的路径,例如 D:\apache-tomcat-9.0.85无需执行安装程序,解压即可使用

建议使用解压版,一台电脑可同时部署多个版本,不污染系统环境

四、Tomcat 目录结构(必须掌握)

复制代码
apache-tomcat-xxx
├── bin      启动与停止脚本目录
├── conf     核心配置文件目录
├── lib      依赖jar包目录
├── logs     日志文件目录
├── temp     临时文件目录
├── webapps  Web项目部署目录
└── work     JSP编译运行目录

4.1 bin 目录

存放启动和停止脚本startup.bat 用于 Windows 系统启动shutdown.bat 用于 Windows 系统停止sh 结尾文件用于 Linux 系统

4.2 conf 目录(最重要)

存放 Tomcat 全局配置文件server.xml 是服务器核心配置文件,可修改端口、配置主机与连接器web.xml 是全局应用配置文件,用于注册 MIME 类型,告知浏览器如何处理响应内容tomcat-users.xml 用于配置管理后台用户与权限

4.3 lib 目录

存放 Tomcat 运行所需的 jar 包,所有 Web 项目共享该目录资源

4.4 logs 目录

存放运行日志、启动日志与错误日志catalina.out 为核心运行日志localhost.log 为本地主机日志启动失败与运行异常均可在此目录查看

4.5 temp 目录

存放 Tomcat 运行时产生的临时文件,服务停止后可直接删除

4.6 webapps 目录

Web 项目默认部署目录一个文件夹对应一个 Web 项目ROOT 为默认根项目,访问时无需填写项目名

4.7 work 目录

JSP 运行时编译目录JSP 文件会被翻译为 java 文件,再编译为 class 文件该目录内容可删除,重启 Tomcat 后会自动重新生成

五、启动、停止、测试

5.1 启动 Tomcat

进入 bin 目录,双击 startup.bat日志出现 Server startup in XXX ms 表示启动成功

5.2 停止 Tomcat

推荐方式为双击 bin 目录下的 shutdown.bat不建议直接关闭黑窗口,容易造成端口占用

5.3 访问测试

浏览器输入以下地址,看到 Tomcat 主页即表示启动成功http://localhost:8080http://127.0.0.1:8080

5.4 局域网访问

localhost替换为本机 IP 地址http://192.168.1.100:8080访问前提为同一局域网且防火墙开放对应端口

六、修改 Tomcat 端口号

6.1 默认端口

Tomcat 默认端口 8080HTTP 协议默认端口 80,使用 80 端口可省略端口号

6.2 修改步骤

打开 conf 目录下的 server.xml 文件找到 Connector 节点配置

XML 复制代码
<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

修改 port 属性为 80、8090、8888 等可用端口保存文件并重启 Tomcat 生效

6.3 注意事项

公网使用 80 端口需要进行公安部备案端口不可与其他程序占用冲突

七、Java Web 项目标准目录结构

Tomcat 仅识别遵循 JavaEE 规范的项目结构

复制代码
项目名例如hello
├── 静态资源包含html、css、js、图片、jsp等
└── WEB-INF必须大写,为受保护目录
    ├── web.xml   项目必需的部署描述文件
    ├── classes   编译后的class文件目录
    └── lib       项目依赖jar包目录

结构规则WEB-INF 为受保护目录,浏览器无法直接访问web.xml 为项目必需文件,不可缺少可公开访问的资源必须放在 WEB-INF 目录外部

八、Tomcat 部署项目(两种常用方式)

方式 1 webapps 目录部署(最简单)

将项目文件夹复制到 webapps 目录启动 Tomcat 自动完成部署访问地址格式http://localhost:8080/项目名 / 页面名称.html

方式 2 server.xml 自定义路径部署

适用于项目不在 webapps 目录的场景打开 conf 目录下的 server.xml 文件在 Host 标签内添加 Context 配置

XML 复制代码
<Context 
    path="/abc" 
    docBase="D:\project\hello" 
    reloadable="true" 
/>

path 为浏览器访问的虚拟路径docBase 为项目在磁盘的真实路径reloadable="true" 表示修改代码后自动热部署访问地址格式http://localhost:8080/abc/index.jsp

九、Tomcat 常见问题与解决方案

9.1 启动窗口一闪而过

未配置 JAVA_HOME 环境变量JDK 版本与 Tomcat 版本不兼容文件路径包含中文或空格

9.2 端口被占用提示 Address already in use

关闭占用端口的程序修改 server.xml 中的端口号

9.3 访问提示 404

项目未成功部署URL 访问路径书写错误资源文件放置在 WEB-INF 目录内部

9.4 项目无法访问

Tomcat 未正常启动防火墙拦截请求项目目录结构不符合 JavaEE 规范

十、Tomcat 核心总结

Tomcat 是开源免费的 Java Web 容器,是学习 JavaWeb 的首选工具运行必须配置 JAVA_HOME 环境变量核心目录为 bin、conf、webapps、workserver.xml 用于修改端口,web.xml 用于配置 MIME 类型项目部署可直接放入 webapps 或通过 Context 配置自定义路径Web 项目必须遵循 JavaEE 标准目录结构常见问题集中在端口占用、环境未配置、路径错误三类

结语

Tomcat 是 JavaWeb 技术体系的基础,本文覆盖安装、配置、部署、排错全流程,建议收藏反复学习。基础打牢后,后续学习 Servlet、SpringMVC、SpringBoot 都会更加顺畅。

相关推荐
dreamxian2 小时前
苍穹外卖day11
java·spring boot·后端·spring·mybatis
Veggie262 小时前
【Java深度学习】PyTorch On Java 系列课程 第八章 17 :模型评估【AI Infra 3.0】[PyTorch Java 硕士研一课程]
java·人工智能·深度学习
weisian1512 小时前
Java并发编程--19-ThreadPoolExecutor七参数详解:拒绝Executors,手动掌控线程池
java·线程池·threadpool·七大参数
csdn5659738502 小时前
Java打包时,本地仓库有jar 包,Maven打包却还去远程拉取
java·maven·jar
Demon_Hao2 小时前
JAVA通过Redis实现Key分区分片聚合点赞、收藏等计数同步数据库,并且通过布隆过滤器防重复点赞
java·数据库·redis
华科易迅2 小时前
Spring装配对象方法-注解
java·后端·spring
庄周的大鱼3 小时前
分析@TransactionalEventListener注解失效
java·spring·springboot·事务监听器·spring 事件机制·事务注解失效解决
史蒂芬_丁4 小时前
C++深度拷贝例子
java·开发语言·c++
云烟成雨TD4 小时前
Spring AI Alibaba 1.x 系列【4】ReAct 范式与 ReactAgent 核心设计
java·人工智能·spring