Apache Tomcat下載安裝、配置與使用教程(超詳細)
前言
Apache Tomcat(簡稱Tomcat)是一個開源的Servlet容器,實現(xiàn)了Java Servlet和JavaServer Pages(JSP)規(guī)范。它由Apache軟件基金會維護,是目前最流行的Java Web應(yīng)用服務(wù)器之一。
本文將手把手教你完成Tomcat的完整安裝配置流程,并深入講解日常使用中的各項操作。無論你是Java初學(xué)者還是有一定經(jīng)驗的開發(fā)者,都能從本文中獲得實用的知識。
重要提示: 在安裝Tomcat之前,必須確保已安裝并配置好Java環(huán)境(JDK 8及以上版本),否則Tomcat將無法正常啟動。
一、Tomcat簡介
1.1 什么是Tomcat
Tomcat是一個輕量級的Web應(yīng)用服務(wù)器,主要用于運行Java編寫的Web應(yīng)用程序。它提供了以下核心功能:
- Servlet容器:運行Java Servlet程序
- JSP引擎:解析和執(zhí)行JSP頁面
- HTTP服務(wù)器:處理HTTP請求和響應(yīng)
- 連接池管理:數(shù)據(jù)庫連接池配置
1.2 Tomcat版本選擇
Tomcat目前主要有以下幾個活躍版本:
| 版本 | Servlet規(guī)范 | JSP規(guī)范 | 最低JDK版本 | 適用場景 |
|---|---|---|---|---|
| Tomcat 10.1 | Servlet 6.0 | JSP 3.1 | JDK 11 | 新項目,使用Jakarta EE |
| Tomcat 10.0 | Servlet 5.0 | JSP 3.0 | JDK 8 | 遷移項目 |
| Tomcat 9.0 | Servlet 4.0 | JSP 2.3 | JDK 8 | 穩(wěn)定生產(chǎn)環(huán)境 |
| Tomcat 8.5 | Servlet 3.1 | JSP 2.3 | JDK 7 | 老項目維護 |
注意: Tomcat 10開始,Java EE遷移到了Jakarta EE,包名從 javax.* 改為 jakarta.*,老項目遷移時需要注意兼容性問題。
1.3 Tomcat與JDK版本對應(yīng)關(guān)系
選擇Tomcat版本時,需要關(guān)注JDK兼容性:
- Tomcat 11.x:需要JDK 17或更高版本
- Tomcat 10.1.x:需要JDK 11或更高版本
- Tomcat 10.0.x / 9.0.x / 8.5.x:需要JDK 8或更高版本
建議新手選擇 Tomcat 9.0 或 Tomcat 10.1,這兩個版本文檔豐富、社區(qū)活躍。
二、下載及安裝Tomcat
2.1 下載Tomcat
步驟1:訪問官網(wǎng)
打開瀏覽器,訪問Tomcat官方下載頁面:
https://tomcat.apache.org/download-90.cgi

(將 90 替換為對應(yīng)版本號,如 101 表示Tomcat 10.1)
步驟2:選擇版本
在官網(wǎng)左側(cè)導(dǎo)航欄選擇需要下載的版本(如Tomcat 9),進入下載頁面后,在 Binary Distributions 區(qū)域找到 Core 部分。
步驟3:選擇下載包

根據(jù)操作系統(tǒng)選擇對應(yīng)的壓縮包:
| 操作系統(tǒng) | 推薦下載包 | 說明 |
|---|---|---|
| Windows 64位 | 64-bit Windows.zip | 最常用,直接解壓即可 |
| Windows 32位 | 32-bit Windows.zip | 舊系統(tǒng)使用 |
| Linux/Unix | tar.gz | Linux系統(tǒng)使用 |
| macOS | tar.gz 或 zip | macOS系統(tǒng)使用 |
下載注意事項:
- 下載路徑一定要記住,并且路徑中盡量不要有中文和空格,避免出現(xiàn)編碼問題。
- 建議將Tomcat解壓到專門的開發(fā)環(huán)境目錄,如
E:\ENV\apache-tomcat-9.0.80。 - 如果下載速度較慢,可以選擇國內(nèi)的鏡像源下載。
步驟4:驗證下載完整性(可選)
Tomcat官網(wǎng)提供了SHA-512校驗碼,下載后可以通過校驗碼驗證文件是否完整:
# Windows PowerShell Get-FileHash apache-tomcat-9.0.80-windows-x64.zip -Algorithm SHA512
2.2 解壓安裝
Tomcat是綠色軟件,無需安裝,直接解壓即可使用。
解壓步驟:
- 找到下載的
.zip文件 - 右鍵選擇"解壓到當(dāng)前文件夾"或使用解壓軟件解壓
- 將解壓后的文件夾移動到目標(biāo)位置,例如:
E:\ENV20\apache-tomcat-9.0.80
推薦目錄結(jié)構(gòu):
E:\ENV20\ ├── apache-tomcat-9.0.80 <-- Tomcat目錄 ├── jdk-17.0.3.1 <-- JDK目錄 ├── apache-maven-3.8.6 <-- Maven目錄(可選) └── ...
重要提示: 路徑中不要包含中文、空格或特殊字符,否則可能導(dǎo)致啟動失敗。
2.3 Tomcat目錄結(jié)構(gòu)詳解
解壓完成后,Tomcat的目錄結(jié)構(gòu)如下:
apache-tomcat-9.0.80/ ├── bin/ # 存放啟動和關(guān)閉腳本 ├── conf/ # 配置文件目錄 ├── lib/ # 依賴的jar包 ├── logs/ # 日志文件目錄 ├── temp/ # 臨時文件目錄 ├── webapps/ # Web應(yīng)用部署目錄 └── work/ # JSP編譯后的工作目錄
各目錄詳細說明:
1. bin目錄
存放Tomcat的啟動和關(guān)閉腳本,以及相關(guān)的命令工具:
| 文件 | 說明 |
|---|---|
startup.bat / startup.sh | 啟動Tomcat服務(wù) |
shutdown.bat / shutdown.sh | 關(guān)閉Tomcat服務(wù) |
catalina.bat / catalina.sh | 核心啟動腳本,startup會調(diào)用它 |
setclasspath.bat | 設(shè)置Java類路徑 |
version.bat | 查看Tomcat版本信息 |
tool-wrapper.bat | 工具包裝腳本 |
2. conf目錄
存放Tomcat的所有配置文件:
| 文件 | 說明 |
|---|---|
server.xml | 核心配置文件,配置端口、連接器、虛擬主機等 |
web.xml | 全局Web應(yīng)用配置文件 |
tomcat-users.xml | 用戶權(quán)限配置文件,配置管理界面登錄賬號 |
context.xml | 上下文配置文件,可配置數(shù)據(jù)源等 |
logging.properties | 日志配置文件 |
catalina.policy | 安全策略配置文件 |
3. lib目錄
存放Tomcat運行所需的所有jar包,包括:
- Servlet API實現(xiàn)
- JSP API實現(xiàn)
- 數(shù)據(jù)庫連接池(如DBCP)
- 其他Tomcat核心依賴
4. logs目錄
存放Tomcat運行過程中產(chǎn)生的日志文件:
| 日志文件 | 說明 |
|---|---|
catalina.out / catalina.日期.log | 主控制臺輸出日志 |
localhost.日期.log | 本地主機訪問日志 |
manager.日期.log | 管理界面操作日志 |
host-manager.日期.log | 虛擬主機管理日志 |
localhost_access_log.日期.txt | HTTP訪問日志 |
5. webapps目錄
這是最重要的目錄之一,用于部署Web應(yīng)用程序:
- 將Web項目(WAR包或文件夾)放入此目錄,Tomcat會自動部署
- 默認包含幾個示例應(yīng)用:
docs:Tomcat文檔examples:示例程序host-manager:虛擬主機管理應(yīng)用manager:應(yīng)用管理界面ROOT:默認根應(yīng)用
6. work目錄
存放JSP編譯后的文件:
- JSP頁面會被翻譯成
.java源文件 - 然后編譯成
.class字節(jié)碼文件 - 即:
jsp → java → class
7. temp目錄
Tomcat運行時的臨時文件存放目錄,通常不需要手動管理。
三、啟動與關(guān)閉Tomcat
3.1 啟動前的準(zhǔn)備工作
檢查Java環(huán)境
在啟動Tomcat之前,必須先確認Java環(huán)境已正確配置。打開CMD,輸入:
java -version
如果顯示類似以下信息,說明Java環(huán)境正常:
java version "17.0.3.1" 2022-04-19 LTS Java(TM) SE Runtime Environment (build 17.0.3.1+2-LTS-6) Java HotSpot(TM) 64-Bit Server VM (build 17.0.3.1+2-LTS-6, mixed mode, sharing)
如果未配置Java環(huán)境,啟動Tomcat時會報錯:
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program
解決方法: 先安裝JDK并配置 JAVA_HOME 環(huán)境變量。
檢查端口占用
Tomcat默認使用8080端口,如果該端口被其他程序占用,啟動會失敗。可以通過以下命令檢查:
# Windows netstat -ano | findstr :8080 # 如果被占用,可以在server.xml中修改端口號
3.2 啟動Tomcat
方法一:雙擊啟動(推薦新手)
- 打開Tomcat安裝目錄
- 進入
bin文件夾 - 找到
startup.bat(Windows)或startup.sh(Linux/Mac) - 雙擊運行
啟動成功后,會彈出一個黑色命令行窗口,顯示啟動日志信息:
Using CATALINA_BASE: "E:\ENV20\apache-tomcat-9.0.80" Using CATALINA_HOME: "E:\ENV20\apache-tomcat-9.0.80" Using CATALINA_TMPDIR: "E:\ENV20\apache-tomcat-9.0.80\temp" Using JRE_HOME: "E:\ENV20\jdk-17.0.3.1" Using CLASSPATH: "E:\ENV20\apache-tomcat-9.0.80\bin\bootstrap.jar;E:\ENV20\apache-tomcat-9.0.80\bin\tomcat-juli.jar"
注意: 啟動窗口不要關(guān)閉,關(guān)閉窗口等于關(guān)閉Tomcat服務(wù)。
方法二:命令行啟動
- 打開CMD命令提示符
- cd到Tomcat的bin目錄:
cd E:\ENV20\apache-tomcat-9.0.80\bin
- 輸入啟動命令:
startup
或者使用catalina命令(更靈活):
catalina start # 后臺啟動 catalina run # 前臺啟動(日志直接輸出到控制臺)
方法三:配置為Windows服務(wù)(生產(chǎn)環(huán)境推薦)
將Tomcat注冊為Windows服務(wù),可以開機自啟動:
# 以管理員身份運行CMD,進入bin目錄 service.bat install
安裝成功后,可以在"服務(wù)"管理中找到Apache Tomcat服務(wù),設(shè)置為自動啟動。
3.3 關(guān)閉Tomcat
方法一:雙擊關(guān)閉
在 bin 目錄下雙擊 shutdown.bat(Windows)或 shutdown.sh(Linux/Mac)。
方法二:命令行關(guān)閉
cd E:\ENV20\apache-tomcat-9.0.80\bin shutdown
方法三:關(guān)閉啟動窗口
直接關(guān)閉Tomcat的啟動命令行窗口(不推薦,可能導(dǎo)致資源未釋放)。
方法四:強制結(jié)束進程
如果Tomcat無法正常關(guān)閉,可以在任務(wù)管理器中找到 java.exe 或 tomcat9.exe 進程,結(jié)束任務(wù)。
3.4 測試Tomcat
啟動Tomcat后,打開瀏覽器,在地址欄輸入以下地址之一:
http://localhost:8080 http://127.0.0.1:8080
如果看到Tomcat默認首頁,顯示:
“If you’re seeing this, you’ve successfully installed Tomcat. Congratulations!”

說明Tomcat安裝成功!
首頁包含以下功能入口:
- Server Status:查看服務(wù)器狀態(tài)
- Manager App:管理已部署的應(yīng)用
- Host Manager:管理虛擬主機
四、配置Tomcat環(huán)境變量
配置環(huán)境變量后,可以在任意目錄下通過命令啟動和關(guān)閉Tomcat,無需每次都cd到bin目錄。
4.1 配置CATALINA_HOME
步驟1:打開環(huán)境變量設(shè)置
- 右擊【此電腦】(或【我的電腦】)
- 點擊【屬性】
- 選擇【高級系統(tǒng)設(shè)置】
- 在【高級】選項卡下,點擊【環(huán)境變量】
步驟2:新建系統(tǒng)變量
在【系統(tǒng)變量】區(qū)域點擊【新建】按鈕:
- 變量名:
CATALINA_HOME - 變量值: Tomcat的安裝目錄(例如:
E:\ENV20\apache-tomcat-9.0.80)
變量名必須是 CATALINA_HOME,這是Tomcat默認識別的變量名。
步驟3:(可選)新建TOMCAT_HOME
有些教程會建議同時配置 TOMCAT_HOME,與 CATALINA_HOME 值相同。這不是必須的,但可以增加兼容性:
- 變量名:
TOMCAT_HOME - 變量值:
E:\ENV20\apache-tomcat-9.0.80
4.2 配置Path變量
在【系統(tǒng)變量】中找到 Path,點擊【編輯】:
- 點擊【新建】
- 輸入:
%CATALINA_HOME%\bin - 點擊【確定】保存
如果系統(tǒng)較老,Path變量值是一個長字符串,則在末尾追加:
;%CATALINA_HOME%\bin(注意前面有分號)
4.3 驗證環(huán)境變量
配置完成后,重新打開CMD(必須重新打開,否則環(huán)境變量不生效),輸入:
catalina version
如果顯示Tomcat的版本信息,說明環(huán)境變量配置成功:
Using CATALINA_BASE: E:\ENV20\apache-tomcat-9.0.80 Using CATALINA_HOME: E:\ENV20\apache-tomcat-9.0.80 Using CATALINA_TMPDIR: E:\ENV20\apache-tomcat-9.0.80\temp Using JRE_HOME: E:\ENV20\jdk-17.0.3.1 Server version: Apache Tomcat/9.0.80 Server built: Aug 11 2022 21:31:29 UTC Server number: 9.0.80.0 OS Name: Windows 10 OS Version: 10.0 Architecture: amd64 JVM Version: 17.0.3.1+2-LTS-6 JVM Vendor: Oracle Corporation
現(xiàn)在可以在任意目錄下啟動Tomcat了:
startup # 啟動Tomcat shutdown # 關(guān)閉Tomcat
五、Tomcat核心配置詳解
5.1 server.xml配置
conf/server.xml 是Tomcat最核心的配置文件,位于 conf 目錄下。它定義了Tomcat的整體架構(gòu)。
文件結(jié)構(gòu)概覽:
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="..." />
<GlobalNamingResources>
<Resource name="UserDatabase" ... />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1" ... />
<Connector port="8009" protocol="AJP/1.3" ... />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="..." />
<Host name="localhost" appBase="webapps" ...>
<Valve className="..." />
</Host>
</Engine>
</Service>
</Server>核心組件說明:
| 組件 | 說明 |
|---|---|
Server | 整個Tomcat服務(wù)器實例 |
Service | 一個服務(wù),包含一個Engine和多個Connector |
Connector | 連接器,負責(zé)接收客戶端請求 |
Engine | 引擎,處理所有請求的容器 |
Host | 虛擬主機,對應(yīng)一個域名 |
Context | Web應(yīng)用上下文,對應(yīng)一個Web項目 |
5.2 修改端口號
Tomcat默認使用三個端口:
| 端口 | 用途 | 配置文件位置 |
|---|---|---|
| 8080 | HTTP服務(wù)端口 | Connector port=“8080” |
| 8005 | 關(guān)閉服務(wù)端口 | Server port=“8005” |
| 8009 | AJP連接器端口 | Connector port=“8009” |
修改HTTP端口(8080 → 8888):
打開 conf/server.xml,找到:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />修改為:
<Connector port="8888" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />保存后重啟Tomcat,訪問地址變?yōu)椋?code>http://localhost:8888
注意: 修改端口后,如果之前配置了防火墻規(guī)則,需要同步更新。
修改關(guān)閉端口:
<!-- 原配置 --> <Server port="8005" shutdown="SHUTDOWN"> <!-- 修改為 --> <Server port="8006" shutdown="SHUTDOWN">
5.3 配置虛擬主機
虛擬主機允許在一臺服務(wù)器上部署多個網(wǎng)站。
在server.xml中添加虛擬主機:
<Host name="www.mysite.com" appBase="webapps/mysite"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="mysite_access_log"
suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
</Host>配置說明:
| 屬性 | 說明 |
|---|---|
name | 域名 |
appBase | 應(yīng)用基礎(chǔ)目錄 |
unpackWARs | 是否自動解壓WAR包 |
autoDeploy | 是否自動部署新應(yīng)用 |
同時需要在 conf/Catalina/localhost 目錄下創(chuàng)建對應(yīng)的XML配置文件,或在系統(tǒng)的hosts文件中添加域名解析。
六、Tomcat日常使用
6.1 部署Web項目
Tomcat支持多種方式部署Web應(yīng)用:
方式一:直接復(fù)制到webapps目錄(最簡單)
- 將Web項目文件夾或WAR包復(fù)制到
webapps目錄 - Tomcat會自動檢測并部署
- 訪問地址:
http://localhost:8080/項目名
示例:
假設(shè)有一個名為 myapp 的項目文件夾,結(jié)構(gòu)如下:
myapp/ ├── WEB-INF/ │ ├── web.xml │ └── classes/ │ └── com/ │ └── example/ │ └── HelloServlet.class ├── index.html └── hello.jsp
將 myapp 文件夾復(fù)制到 webapps 目錄,啟動Tomcat后訪問:
http://localhost:8080/myapp/ http://localhost:8080/myapp/index.html http://localhost:8080/myapp/hello.jsp
方式二:部署WAR包
WAR(Web Application Archive)是Java Web應(yīng)用的標(biāo)準(zhǔn)打包格式。
生成WAR包:
使用Maven打包:
mvn clean package
或在項目根目錄手動打包:
jar -cvf myapp.war .
部署WAR包:
- 將
myapp.war復(fù)制到webapps目錄 - Tomcat會自動解壓并部署
- 訪問地址:
http://localhost:8080/myapp
如果不需要自動解壓,可以將WAR包放在webapps目錄外,通過Context配置手動部署。
方式三:配置Context部署(最靈活)
在 conf/Catalina/localhost/ 目錄下創(chuàng)建 myapp.xml:
<Context docBase="E:/projects/myapp" reloadable="true" />
| 屬性 | 說明 |
|---|---|
docBase | 項目實際路徑(可以是絕對路徑) |
reloadable | 是否自動重新加載修改后的類文件 |
path | 訪問路徑(XML文件名即為path) |
方式四:通過Manager界面部署
登錄Tomcat Manager后,在"WAR file to deploy"區(qū)域上傳WAR包即可部署。
6.2 使用Manager管理界面
Tomcat提供了一個Web管理界面,可以方便地管理部署的應(yīng)用。
6.2.1 配置管理員賬號
默認情況下,Manager界面需要登錄。打開 conf/tomcat-users.xml,添加用戶:
<tomcat-users> <!-- 管理員角色 --> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <role rolename="admin-gui"/> <role rolename="admin-script"/> <!-- 配置用戶 --> <user username="admin" password="123456" roles="manager-gui,manager-script,admin-gui,admin-script"/> </tomcat-users>
安全提示: 生產(chǎn)環(huán)境中請使用強密碼,并限制訪問IP。
6.2.2 訪問Manager
啟動Tomcat后,訪問:
http://localhost:8080/manager/html
輸入上面配置的用戶名和密碼即可登錄。
6.2.3 Manager功能介紹
登錄后可以看到以下功能:
| 功能 | 說明 |
|---|---|
| Applications | 查看已部署的所有應(yīng)用 |
| Start | 啟動某個應(yīng)用 |
| Stop | 停止某個應(yīng)用 |
| Reload | 重新加載應(yīng)用(不重啟Tomcat) |
| Undeploy | 卸載應(yīng)用 |
| Expire sessions | 使會話失效 |
| WAR file to deploy | 上傳WAR包部署 |
| Server Status | 查看服務(wù)器狀態(tài) |
6.2.4 訪問Host Manager
用于管理虛擬主機:
http://localhost:8080/host-manager/html
6.3 查看日志
日志是排查問題的重要手段。Tomcat的日志位于 logs 目錄。
常用日志文件:
1. catalina.out / catalina.日期.log
主控制臺輸出,包含啟動信息、錯誤堆棧等:
[日期] [級別] [類名] 消息內(nèi)容
2. localhost.日期.log
本地主機相關(guān)的日志,通常包含Web應(yīng)用的錯誤信息。
3. localhost_access_log.日期.txt
HTTP訪問日志,記錄所有請求的詳細信息:
127.0.0.1 - - [04/Jun/2026:10:30:45 +0800] "GET /myapp/index.jsp HTTP/1.1" 200 1234
格式說明:
127.0.0.1:客戶端IP[04/Jun/2026:10:30:45 +0800]:訪問時間"GET /myapp/index.jsp HTTP/1.1":請求方法和路徑200:HTTP狀態(tài)碼1234:響應(yīng)字節(jié)數(shù)
4. manager.日期.log
Manager界面的操作日志。
日志級別配置
編輯 conf/logging.properties:
# 設(shè)置全局日志級別 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO # 設(shè)置控制臺日志級別 java.util.logging.ConsoleHandler.level = FINE # 設(shè)置文件日志級別 java.util.logging.FileHandler.level = INFO
日志級別從低到高:SEVERE > WARNING > INFO > CONFIG > FINE > FINER > FINEST
6.4 配置數(shù)據(jù)源
在Tomcat中配置數(shù)據(jù)庫連接池,可以讓W(xué)eb應(yīng)用共享數(shù)據(jù)庫連接。
步驟1:將數(shù)據(jù)庫驅(qū)動jar包放入lib目錄
將MySQL驅(qū)動(如 mysql-connector-java-8.0.30.jar)復(fù)制到 lib 目錄。
步驟2:在context.xml中配置數(shù)據(jù)源
編輯 conf/context.xml,在 <Context> 標(biāo)簽內(nèi)添加:
<Resource name="jdbc/MyDB"
auth="Container"
type="javax.sql.DataSource"
maxTotal="100"
maxIdle="30"
maxWaitMillis="10000"
username="root"
password="123456"
driverClassName="com.mysql.cj.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC"/>步驟3:在web.xml中引用
在項目的 WEB-INF/web.xml 中添加:
<resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/MyDB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
步驟4:在Java代碼中使用
Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
DataSource ds = (DataSource) envContext.lookup("jdbc/MyDB");
Connection conn = ds.getConnection();七、常見問題及解決方案
問題1:啟動時閃退
現(xiàn)象: 雙擊startup.bat后,窗口一閃而過。
原因及解決:
Java環(huán)境未配置
- 檢查
JAVA_HOME環(huán)境變量是否正確設(shè)置 - 在CMD中運行
java -version驗證
端口被占用
- 檢查8080端口是否被占用:
netstat -ano | findstr :8080 - 修改
server.xml中的端口號
權(quán)限不足
- 以管理員身份運行startup.bat
問題2:啟動報錯 “Address already in use”
解決:
# 查找占用8080端口的進程 netstat -ano | findstr :8080 # 結(jié)束對應(yīng)進程(PID為進程號) taskkill /PID 進程號 /F
問題3:訪問localhost:8080顯示404
原因:
- webapps目錄下的ROOT應(yīng)用被刪除
- 項目部署路徑錯誤
解決:
- 檢查webapps目錄是否包含ROOT文件夾
- 確認訪問路徑是否正確
問題4:中文亂碼
解決:
- 修改
conf/server.xml,在Connector中添加URIEncoding:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8" />- 修改
conf/logging.properties,設(shè)置控制臺編碼:
java.util.logging.ConsoleHandler.encoding = UTF-8
- 在JSP頁面中設(shè)置編碼:
<%@ page contentType="text/html; charset=UTF-8" language="java" %>
問題5:內(nèi)存溢出(OutOfMemoryError)
解決: 修改 bin/catalina.bat,在文件開頭添加:
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MaxPermSize=256m
參數(shù)說明:
-Xms:初始堆內(nèi)存-Xmx:最大堆內(nèi)存-XX:MaxPermSize:永久代大小(JDK 8之前)
問題6:Manager界面403拒絕訪問
解決:
- 確認
tomcat-users.xml中配置了正確的角色和用戶 - 如果是遠程訪問,需要修改
webapps/manager/META-INF/context.xml,注釋掉IP限制:
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->問題7:項目修改后不生效
解決:
- 在Manager界面點擊"Reload"重新加載應(yīng)用
- 或者修改
conf/context.xml,設(shè)置reloadable="true":
<Context reloadable="true">
- 重啟Tomcat
八、總結(jié)
本文詳細介紹了Tomcat的完整使用流程,包括:
| 階段 | 內(nèi)容 |
|---|---|
| 下載安裝 | 官網(wǎng)下載、解壓安裝、目錄結(jié)構(gòu)說明 |
| 啟動關(guān)閉 | 多種啟動方式、關(guān)閉方式 |
| 環(huán)境配置 | CATALINA_HOME、Path變量配置 |
| 核心配置 | server.xml詳解、端口修改、虛擬主機 |
| 日常使用 | 項目部署、Manager管理、日志查看、數(shù)據(jù)源配置 |
| 問題排查 | 常見錯誤及解決方案 |
掌握以上內(nèi)容后,你就可以熟練地使用Tomcat進行Java Web開發(fā)了。Tomcat雖然輕量,但功能強大,是學(xué)習(xí)和開發(fā)Java Web應(yīng)用的絕佳選擇。
以上就是Apache Tomcat下載安裝、配置與使用教程(超詳細)的詳細內(nèi)容,更多關(guān)于Tomcat下載安裝、配置與使用的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
servlet和tomcat_動力節(jié)點Java學(xué)院整理
這篇文章主要介紹了servlet和tomcat,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07
詳解從源碼分析tomcat如何調(diào)用Servlet的初始化
這篇文章主要介紹了詳解從源碼分析tomcat如何調(diào)用Servlet的初始化,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04

