首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Tomcat 虛擬目錄發布與 Servlet 執行權限完整設定指南

     編輯:Java 相關知識

在 Tomcat 中發布 Web 應用,除了預設 webapps 目錄,常需將任意本地目錄掛載為虛擬目錄並賦予 Servlet 執行權限。本文說明 server.xml <Context> 設定與最小 web.xml 配置。

虛擬目錄設定

編輯 %TOMCAT_HOME%\conf\server.xml,在 <Host> 內新增:

<Context path="/myapp"
         docBase="D:/projects/myapp"
         reloadable="true"
         crossContext="true"
         debug="0" />
  • path:URL 路徑前綴 (如 https://localhost:8080/myapp/...)
  • docBase:本地實體目錄 (JSP/HTML/資源檔放這裡)
  • reloadable:類別變更自動重載 (開發階段建議 true)

啟用 Servlet 執行權限

虛擬目錄預設無 Servlet 支援,需在 docBase\WEB-INF\web.xml 設定:

<web-app>
  <display-name>MyWebApp</display-name>
  <servlet-mapping>
    <servlet-name>invoker</servlet-name>
    <url-pattern>/servlet/*</url-pattern>
  </servlet-mapping>
</web-app>
  • invoker:Tomcat 內建 Servlet,對應 org.apache.catalina.servlets.InvokerServlet
  • url-pattern:/servlet/* 表示 https://host:port/myapp/servlet/YourServlet

目錄結構範例

D:/projects/myapp/
  index.jsp
  WEB-INF/
    web.xml
    classes/
      YourServlet.class
    lib/          # 專屬 JAR

驗證步驟

  1. 重啟 Tomcat
  2. 瀏覽 https://localhost:8080/myapp/index.jsp → JSP 正常
  3. 瀏覽 https://localhost:8080/myapp/servlet/YourServlet → Servlet 執行

注意事項

  • Tomcat 5.0+ 預設關閉 InvokerServlet,生產環境建議在 web.xml 明確定義 <servlet> + <servlet-mapping>,避免使用 /servlet/*
  • crossContext="true" 允許跨 Context 呼叫 getContext(),謹慎啟用
  • 多虛擬目錄時,確保 path 唯一

掌握 <Context> 與最小 web.xml,即可靈活部署多獨立 Web 模組於單一 Tomcat 實例。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved