本文收录于「Java 学习日记:从入门到架构师」专栏,聚焦 Java Web 核心基础,从 Tomcat 实操入手,帮你打通 “写代码 – 部署运行” 的最后一公里~
一、为什么要学 Tomcat?
在上一篇 HTTP 协议的学习中,我们知道客户端的请求需要服务器来处理 —— 而 Tomcat 就是 Java 开发者最常用的开源 Servlet 容器 / WEB 服务器。
简单来说:
- 你写的 SpringBoot、SSM 项目,本质上是运行在 Tomcat 中的;
- 即使 SpringBoot 内置了 Tomcat,掌握独立 Tomcat 的安装、配置和部署,才能理解 Web 应用的运行原理;
- 实际开发 / 运维中,部署项目、排查端口占用、调整 JVM 参数等场景,都离不开 Tomcat 的基础操作。
今天这篇日记,我们从 “下载安装→核心配置→项目部署” 全流程实操,新手也能跟着一步步做。
二、Tomcat 前置准备与安装(Windows/Linux 通用思路)
1. 前置条件
Tomcat 是 Java 开发的,必须先安装 JDK 并配置环境变量:
- 验证:打开终端 / CMD,输入 java -version,能显示 JDK 版本即配置成功;
- 版本兼容:Tomcat 9 推荐 JDK 8+,Tomcat 10 推荐 JDK 11+(注意:Tomcat 10 对 Servlet API 包名做了调整,新手先学 Tomcat 9)。
2. 下载 Tomcat
- Windows:下载 32-bit/64-bit Windows Service Installer(安装版)或 zip(解压版,推荐);
- Linux:下载 tar.gz 压缩包。
3. 安装 / 解压(以 Windows 为例)
- 解压版:将下载的 zip 包解压到非中文、无空格的目录(如 D:\\apache-tomcat-9.0.80);
- 安装版:双击安装程序,一路下一步,注意选择 JDK 路径,端口默认 8080 即可。
4. 启动与验证 Tomcat
方式 1:脚本启动(推荐)
- Windows:双击 startup.bat;
- Linux:执行 ./startup.sh(需先赋予权限:chmod +x startup.sh shutdown.sh);
方式 2:Windows 服务启动
安装版可将 Tomcat 注册为系统服务:
三、Tomcat 核心目录与配置文件
先理清 Tomcat 的目录结构,后续配置和部署都基于这些目录:
| bin | 启动 / 停止脚本(startup.sh/bat、shutdown.sh/bat) |
| conf | 核心配置文件(server.xml、web.xml、tomcat-users.xml) |
| webapps | Web 应用部署目录(将项目放到这里即可运行) |
| logs | 日志文件(排查问题的关键,如 catalina.out) |
| temp | 临时文件目录 |
| work | Tomcat 编译 JSP 生成的 class 文件目录 |
1. 核心配置文件:server.xml(重点)
conf/server.xml 是 Tomcat 的核心配置文件,主要配置端口、连接器、引擎等,新手重点关注 3 个配置:
(1)修改 Tomcat 端口(解决端口占用)
默认端口 8080,若被占用,找到 <Connector> 标签修改:
xml
<!– 默认8080端口,改为8081(任意未被占用的端口) –>
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
- port:HTTP 访问端口;
- redirectPort:HTTPS 重定向端口;
- connectionTimeout:连接超时时间(毫秒)。
修改后重启 Tomcat,访问地址变为 http://localhost:8081。
(2)配置主机(Host)
默认主机是 localhost,对应部署目录 webapps/ROOT(访问 http://localhost:8080 实际访问的是这个目录):
xml
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!– 日志相关配置 –>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
- appBase:该主机的应用部署根目录;
- autoDeploy:是否自动部署(放入 webapps 的项目会自动加载);
- unpackWARs:是否自动解压 WAR 包。
2. 配置管理员账户(Tomcat 管理后台)
Tomcat 自带管理后台(http://localhost:8080/manager/html),可可视化部署项目,需先配置账户:
编辑 conf/tomcat-users.xml,在 <tomcat-users> 标签内添加:
xml
<!– 配置管理员角色和账户密码 –>
<user username="admin" password="123456" roles="manager-gui,admin-gui"/>
- manager-gui:允许访问项目管理后台;
- admin-gui:允许访问服务器管理后台。
⚠️ 注意:Tomcat 8+ 默认只允许本地访问管理后台,若需远程访问,需修改 webapps/manager/META-INF/context.xml,注释掉 IP 限制:
xml
<!– 注释掉以下内容,允许所有IP访问 –>
<!– <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\\.\\d+\\.\\d+\\.\\d+|::1|0:0:0:0:0:0:0:1" /> –>
四、Web 应用部署(3 种常用方式)
方式 1:直接复制部署(最简单)
- 若项目名是 ROOT,则访问路径为 http://localhost:8080/接口路径(默认根项目)。
方式 2:管理后台部署(可视化)
方式 3:配置 Context 部署(指定路径)
若不想将项目放在 webapps 目录,可通过配置指定项目路径:
在 conf/Catalina/localhost 目录下,新建 demo.xml(文件名 = 项目访问路径),内容:
xml
<Context docBase="D:\\projects\\demo" reloadable="true"/>
- docBase:项目的实际路径(文件夹或 WAR 包);
- reloadable:是否热部署(项目文件修改后自动重启,开发环境推荐 true,生产环境推荐 false)。
配置后启动 Tomcat,访问路径为 http://localhost:8080/demo。
五、实战:部署一个简单的 Java Web 项目
1. 准备项目(新手示例)
新建一个简单的 Web 项目,结构如下:
plaintext
demo/
├── WEB-INF/
│ ├── web.xml # Web核心配置文件
│ ├── classes/ # 存放class文件(空即可)
│ └── lib/ # 存放依赖包(空即可)
└── index.html # 测试页面
index.html 内容:
html
预览
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Tomcat部署测试</title>
</head>
<body>
<h1>🎉 恭喜!Tomcat部署成功!</h1>
<p>Java学习日记 – Day32</p>
</body>
</html>
WEB-INF/web.xml 内容(最简配置):
xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<!– 默认首页 –>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
2. 部署并访问
六、避坑指南:Tomcat 常见问题
七、今日实战小任务
总结
下一篇【Day33】预告:Servlet 核心详解(生命周期、请求 / 响应处理、实战案例),关注专栏持续解锁 Java Web 核心知识点~若本文对你有帮助,欢迎点赞 + 收藏 + 关注,你的支持是我更新的最大动力💖!
网硕互联帮助中心




评论前必须登录!
注册