📚博客主頁:代碼探秘者
?專欄:《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)默認訪問這個文件