Apache Tomcat 是 Java Web 應用最常用的 Servlet 容器之一。從 Tomcat 4.x 升級到 5.x 後,虛擬目錄的配置方式發生了重大變化。本文將詳細說明 Tomcat 5.0.27 中配置虛擬目錄的兩種主要方法:透過管理介面圖形化配置,以及手動編輯 XML 設定檔。
在 Tomcat 4.x 時代,開發者習慣在 server.xml 的 <Host> 元素中直接添加 <Context> 元素來定義虛擬目錄,例如:
<Context docBase="path/to/webapp" path="/myapp" />
然而,Tomcat 5.x 官方不再推薦修改 server.xml,而是採用更靈活的「Context 片段」機制,將每個 Web 應用的部署描述符獨立為單一 XML 檔案,放置於特定目錄下。
Tomcat 5 內建了功能完善的 Web 管理介面,可直接在瀏覽器中完成虛擬主機與虛擬目錄的增刪改查。
https://localhost:8080/admin(預設帳號密碼需在 tomcat-users.xml 中配置 admin 角色)。/myapp,根目錄請留空或填 /)D:/myweb)%CATALINA_HOME%\conf\Catalina\localhost\ 下生成對應的 XML 檔案(如 myapp.xml),即時生效,無需重啟。若偏好手動控制或需納入版本控制,可直接在 %CATALINA_HOME%\conf\Catalina\localhost\ 目錄下建立 XML 檔案,檔名即為 Context Path(根目錄命名為 ROOT.xml)。
<Context docBase="D:/myweb"
path=""
displayName="Welcome to Tomcat"
workDir="work/Catalina/localhost/_" />
關鍵屬性說明:
docBase:Web 應用的實體絕對路徑(建議使用正斜線 /)path:虛擬路徑;根目錄必須為空字串 ""reloadable:建議開發環境設為 true,生產環境設為 false在同目錄下建立 text.xml:
<Context docBase="D:/projects/text"
path="/text"
reloadable="true" />
儲存後,Tomcat 會自動熱部署,瀏覽器即可透過 https://localhost:8080/text/ 存取。
docBase 建議統一使用正斜線 /,避免轉義問題。tomcat-users.xml 設定強密碼,並限制管理介面存取 IP。D:/webapps/),便於版本升級與備份。host 元素的 autoDeploy="true"(預設開啟)可讓 Context XML 即時生效。Tomcat 5.x 引入的 Context 片段機制,將部署設定從 server.xml 解耦,不僅支援熱部署,也更符合模組化管理原則。開發環境建議善用管理介面快速建立;生產或自動化部署流程則推薦手動維護 XML 檔案,納入版控系統,實現基礎設施即代碼。掌握這兩種方式,即可輕鬆駕馭 Tomcat 虛擬目錄配置。