【JAVA后端入门基础001】Tomcat 是什么?通俗易懂讲清楚!
📚博客主页:代码探秘者
✨专栏:《JavaSe》 其他更新ing…
❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!
概念篇
在 Java Web 开发中,Tomcat 是我们最常接触的服务器之一。但很多初学者常常用它,却不太清楚它到底是什么、能做什么、为什么要用它。这篇文章,我们就来用最简单的语言,把 Tomcat 讲清楚!
1️⃣ Tomcat 是什么?
Tomcat 是一个轻量级的 Web 服务器 + Servlet 容器,由 Apache 软件基金会开发。
你可以把它理解为一个:
- 能运行 Java Web 程序的“服务器软件”;
- 支持 JSP、Servlet 的“执行环境”。
📌 总结一句话:Tomcat 是用来运行 Java Web 项目的软件。
2️⃣ 为什么需要?
当你写完一个 Web 项目后,想通过浏览器访问,就需要一个服务器来运行它。Tomcat 就是这个“服务器”。
✅ 它能帮助你:
- 把
.jsp
页面展示给用户; - 处理表单提交(Servlet);
- 接收浏览器请求并返回响应。
没有 Tomcat,我们的 Java Web 项目就跑不起来。
3️⃣ 核心组件(了解)
Tomcat 看起来复杂,但主要分为这几个核心模块👇:
模块 | 作用 |
---|---|
Connector | 接收客户端请求(通常是 HTTP 协议) |
Engine | 核心处理引擎,负责请求的调度 |
Host | 表示一个虚拟主机,可以部署多个 Web 应用 |
Context | 表示一个具体的 Web 应用(即一个项目) |
Servlet 容器 | 执行你的 Java Servlet 和 JSP 页面 |
4️⃣ Tomcat 和真正的 Web 服务器有区别吗?
有,但不大。
- Tomcat 是 Servlet 容器 + 简单的 HTTP 服务器。
- 真正的大型 Web 服务器如 Nginx、Apache HTTP Server、WebLogic 等,功能更强大,比如负载均衡、反向代理、静态资源优化等。
👉 但对于大多数 Java 项目开发和部署,Tomcat 完全够用!
5️⃣ 怎么用?
🧪 简单几步就能启动 Tomcat:
- 下载 Tomcat(官网下载即可);
- 解压后找到
bin/startup.bat
(Windows)或startup.sh
(Linux); - 启动后,浏览器访问
http://localhost:8080
; - 默认端口是 8080;
- 把你的 Web 项目放到
webapps/
目录即可部署!
6️⃣ Tomcat 日常开发中怎么配合使用?
📦 一般配合这些技术使用:
- Java Web 项目(使用 Servlet / JSP);
- Spring / Spring MVC / Spring Boot;
- IDEA / Eclipse 等开发工具,直接支持 Tomcat 部署;
- 前端页面通过表单 / Ajax 向 Tomcat 发送请求。
7️⃣ 常见问题小贴士
❓ Tomcat 启动后打不开 localhost:8080?
✅ 检查是否有防火墙、端口冲突,或 Java 环境配置问题。
❓ Tomcat 和 Java 有关系吗?
✅ Tomcat 是用 Java 写的,本身需要 Java 环境(JDK)才能运行。
❓ 一个电脑可以同时运行多个 Tomcat 吗?
✅ 可以,但端口不能冲突,注意修改 server.xml
配置中的端口号。
✅ 总结一句话
Tomcat 就是 Java Web 程序的“跑步机”,你写的代码(JSP、Servlet)放上去,就能动起来,跑给浏览器看!
实操篇:Tomcat入门
1.Tomcat的目录结构
-
1. server.xml 用于配置 tomcat 的基本设置(启动端口,关闭端口,主机名)
-
2. wex.xml 用于指定 tomcat 运行时配置(比如 servlet 等)
-
3. webapps 目录是存放 web 应用,就是网站
2.启动
Tomcat的bin下输入cmd(这样默认cd到这个bin目录了),命令行执行下面的
catalina run
等效于:
执行bin下的startup.bat文件
浏览器执行:
http://localhost:8080/
出现虎图标,执行成功!
3.关闭
shutdown.bat是关闭文件
4.修改服务端口-8080
5.部署项目
5.1 方式1
- 部署
- 访问
5.2 方式2-映射文件位置
- 配置文件在Tomcat下的该目录 .xml
conf\Catalina\localhost
- 要求:输入/lan,就去D:\java\jin\test01找
<Context path="/lan" docBase="D:\java\jin\test01"/>
如图:
- 设置映射位置,web文件
- 访问方式:lan是自己设置的
http://localhost:8080/lan/test.html
5.3 Root
localhost:8080/
默认访问Root项目
6.浏览器访问 web服务器
文件UML时序图
主机名localhost和ip映射
- 复制一个新的hosts文件(好像有时候不能直接修改)
- 修改内容,然后覆盖原来的该文件
该目录下hosts文件:
C:\Windows\System32\drivers\etc
7.启动项目
点+
(1)热加载:Tomcat自动更新类和资源
- jsp,html文件修改时,立即生效
- 如果是JAVA文件,Redeploy 重新发布才生效
(2)on frame deactivation
- idea失去焦点(比如最小化,idea图标闪烁,不是退出),也会导致jsp,html更新
(3)这里端口只影响项目端口,不影响配置文件的端口
(4)out目录(原项目资源的映射)才是浏览器真正访问的地方
如果是rebuild项目(project),就重新把写的重新生成out目录(=先删out目录,重新生成)
(5)项目框架
(6)默认访问
(1)默认访问这个文件