一、Tomcat 到底是什么
Tomcat 本质上是一个 Java Web 服务器 / Servlet 容器。
它的作用不是写网页,也不是浏览器,而是:
- 接收浏览器发来的 HTTP 请求
- 找到对应的 Java Web 应用
- 执行应用里的 Servlet、JSP 等组件
- 把结果再通过 HTTP 响应返回给浏览器
可以把关系记成这条链:
浏览器 <-> HTTP <-> Tomcat <-> Java Web 应用
对应分工:
- 浏览器:负责发请求、显示页面
- HTTP:浏览器和服务器通信的协议
- Tomcat:负责处理请求、运行 Web 应用
- Java Web 应用:你写的业务代码和页面资源
所以,Tomcat 在 Java Web 体系中的职责就是:
充当运行 Java Web 项目的服务器环境。
二、Tomcat 安装、目录结构、启动停止
1. 安装前提
Tomcat 运行依赖 Java,所以先安装 JDK,并配置好 JAVA_HOME。
2. Tomcat 常见核心目录
- bin:启动、停止 Tomcat 的脚本
- conf:配置文件目录,重点是 server.xml
- lib:Tomcat 运行依赖的 jar
- logs:日志文件
- temp:临时文件
- webapps:默认部署 Web 应用的位置
- work:Tomcat 运行时编译/缓存产生的文件
本章最重要的几个目录就是:
- bin
- conf
- webapps
3. 启动与停止
Windows 下通常用:
- 启动:startup.bat
- 停止:shutdown.bat
它们都在 bin 目录里。
启动后默认访问:
其中:
- localhost 表示本机
- 8080 是 Tomcat 默认端口
三、三种常见部署方式
1. 直接部署
把项目文件夹直接放到 webapps 下。
例如:
webapps/ myweb/ index.html
访问:
http://localhost:8080/myweb/index.html
特点:
- 最简单
- 适合学习和测试
- 改完资源通常比较直观
2. 虚拟映射部署
不把项目复制到 webapps,而是在 Tomcat 里配置一个路径,映射到你本地某个目录。
适合:
- 项目在固定开发目录
- 不想来回复制文件
- 开发阶段更方便
本质上就是:
URL 路径 -> Tomcat 配置 -> 本地磁盘目录
3. WAR 包部署
把项目打成一个 .war 文件,放到 webapps 下,Tomcat 会自动解压并部署。
例如:
webapps/myapp.war
访问路径通常是:
http://localhost:8080/myapp/
特点:
- 标准发布方式
- 适合测试、上线、交付
- 比直接扔源码目录更规范
四、三种部署方式的差异与适用场景
- 直接部署:简单,适合初学和本地测试
- 虚拟映射:灵活,适合开发阶段
- WAR 包部署:规范,适合正式发布
你可以这样记:
- 学习用:直接部署
- 开发用:虚拟映射
- 上线用:WAR 包部署
五、URL 和本地资源路径的映射关系
这是这章一个特别容易混,但特别重要的点。
比如访问:
http://localhost:8080/myweb/login.html
它通常对应本地:
Tomcat/webapps/myweb/login.html
拆开看:
- http://:协议
- localhost:服务器地址
- 8080:Tomcat 端口
- /myweb:Web 应用名
- /login.html:应用内部资源路径
所以映射规律通常是:
URL = 协议 + 主机 + 端口 + 项目路径 + 资源路径
如果项目部署成 ROOT,就没有项目名这一层了。
例如本地:
webapps/ROOT/index.html
访问就变成:
http://localhost:8080/index.html
甚至欢迎页可直接:
http://localhost:8080/
六、高频基础配置
1. 端口配置
Tomcat 默认端口是 8080。
如果被占用,可以在 conf/server.xml 中修改。
常见是把:
port="8080"
改成:
port="8081"
然后访问:
2. ROOT 应用
webapps/ROOT 是默认根应用。
意义:
- 浏览器访问 / 时,Tomcat 优先找 ROOT 应用
- 如果你想让项目通过 http://localhost:8080/ 直接访问,就把它部署成 ROOT
比如:
webapps/ROOT/index.jsp
访问:
http://localhost:8080/
3. 欢迎页
欢迎页就是用户访问某个目录时,默认显示的页面。
例如访问:
http://localhost:8080/myweb/
Tomcat 会按配置去找欢迎页,比如:
- index.html
- index.jsp
这就是“欢迎页”的作用:
省略具体文件名时,自动打开默认页面。
七、常见故障处理
1. 启动闪退
常见原因:
- 没装 JDK
- JAVA_HOME 没配置好
- 配置文件写错
2. 端口被占用
现象:
- Tomcat 启动失败
- 日志提示端口冲突
处理:
- 改 server.xml 端口
- 或关闭占用该端口的进程
3. 页面 404
说明:
- Tomcat 启动了
- 但请求路径找不到资源
排查重点:
- 项目有没有放对位置
- 访问路径是否写对
- 项目名是否正确
- 欢迎页是否存在
4. 修改后不生效
可能是:
- Tomcat 没重启
- 浏览器缓存
- 改错了部署目录
- WAR 解压后的目录和你以为的不是一个
八、本章最该真正掌握的结论
你至少要能清楚说出下面这些话:
- Tomcat 是 Java Web 应用的运行服务器。
- 浏览器通过 HTTP 把请求发给 Tomcat,Tomcat 再去执行 Java Web 应用。
- webapps 是默认部署目录,conf 放配置,bin 负责启动停止。
- 发布方式有三种:直接部署、虚拟映射、WAR 包部署。
- URL 中的项目路径通常对应 webapps 下的应用目录。
- ROOT 表示根应用,访问 / 时默认进入它。
- 端口、欢迎页、部署路径、404 和端口冲突,是最常见的实操问题。
如果你愿意,我下一步可以直接给你整理一份 “Tomcat 章节考试/面试答题模板”,或者一份 “从零部署一个 Java Web 项目的实操步骤单”。
1730

被折叠的 条评论
为什么被折叠?



