Apache Tomcat 是一款開源的 Java Servlet 容器,同時具備 HTTP Web 伺服器功能。它是 Java Web 開發與部署的標準運行環境之一,支援最新的 Servlet、JSP、WebSocket 等規範。
JAVA_HOME 指向 JDK 安裝目錄,PATH 添加 %JAVA_HOME%\bin。D:\Dev\apache-tomcat-9.0.85)。此目錄即 CATALINA_HOME。bin\startup.bat (或啟動服務)。https://localhost:8080,出現 Tomcat 貓咪歡迎頁即成功。bin\shutdown.bat (或停止服務)。| 目錄/文件 | 用途說明 |
|---|---|
bin/ | 啟動/關閉腳本 (.sh/.bat)、Tomcat 原生庫、工具類。 |
conf/ | 核心配置文件:server.xml (主配置), web.xml (全域部署描述符), tomcat-users.xml (角色/用戶), context.xml (上下文默認配置)。 |
lib/ | Tomcat 運行依賴的共享 JAR 包 (Servlet API, JSTL 實現等)。應用共享庫放此處。 |
logs/ | 運行日誌 (catalina.out, localhost_access_log...)。排錯首選看這裡。 |
webapps/ | Web 應用自動部署目錄。放入 WAR 包或解壓目錄即自動部署。ROOT 為默認應用 (訪問 / 時)。 |
work/ | JSP 編譯生成的 Servlet .java/.class 文件緩存。清理此目錄可強制重新編譯 JSP。 |
temp/ | 臨時文件目錄。 |
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8" /> <!-- 建議加上 URIEncoding 防止中文參數亂碼 -->
常改為 80 (需管理員權限) 或 8081 等。
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<!-- 默認 ROOT 應用對應 webapps/ROOT -->
<!-- 方式一:Context 配置外部目錄 (開發常用,不放入 webapps) -->
<Context path="/myapp" docBase="D:/Projects/MyWebApp" reloadable="true" />
<!-- 方式二:配置別名 (映射靜態資源目錄) -->
<Context path="/static" docBase="D:/StaticResources" />
</Host>
path:訪問路徑前綴 (如 /myapp 訪問 https://host:port/myapp/...)。docBase:應用實際物理路徑 (WAR包或解壓目錄)。reloadable="true":開發模式,類文件變更自動重載,**生產環境必須設為 false**。webapps/,Tomcat 自動解壓部署。manager-gui 角色用戶,訪問 /manager/html 圖形化部署/啟停/重載。JAVA_HOME 是否正確;端口 8080 被佔用 (netstat -ano | findstr 8080);日誌 logs/catalina.<日期>.log 查看堆疊信息。URIEncoding="UTF-8";POST 請求在 Servlet 中 request.setCharacterEncoding("UTF-8");資料庫連接串加 characterEncoding=utf8。work/ 目錄;確認 reloadable="true" 或開發工具熱部署配置。掌握 Tomcat 目錄結構、核心配置 (server.xml)、部署機制與日誌分析,是 Java Web 開發者的必備基本功。開發階段善用 Context docBase 指向項目目錄配合 IDE 熱部署,能大幅提升開發效率;生產環境則關注性能調優、安全加固、集群負載均衡等進階配置。