載入器元件

目錄

簡介

載入器元素表示將用於載入 Java 類別和資源的Web 應用程式類別載入器。此類載入器必須符合 Servlet 規範的要求,並從下列位置載入類別

  • 從 Web 應用程式內的 /WEB-INF/classes 目錄。
  • 從 Web 應用程式內的 /WEB-INF/lib 目錄中的 JAR 檔案。
  • 從 Catalina 全域提供給所有 Web 應用程式的資源。

載入器元素可以巢狀在 內容 元件內。如果未包含,將自動建立預設的載入器組態,這對於大多數需求來說已足夠。

如需更深入了解 Catalina 實作的類別載入器階層,請參閱 類別載入器操作指南

以下說明使用變數名稱 $CATALINA_BASE 來指涉大多數相對路徑所解析的基礎目錄。如果您尚未透過設定 CATALINA_BASE 目錄來為 Tomcat 組態多個執行個體,則 $CATALINA_BASE 將設定為 $CATALINA_HOME 的值,也就是您安裝 Tomcat 的目錄。

屬性

常見屬性

所有 載入器實作都支援下列屬性

屬性 描述
className

要使用的實作的 Java 類別名稱。此類別必須實作 `org.apache.catalina.Loader` 介面。如果未指定,將使用標準值(定義如下)。

delegate

如果您希望類別載入器遵循標準 Java2 委派模型,並嘗試在查看 Web 應用程式之前從父類別載入器載入類別,請設定為 `true`。設定為 `false`(預設值)以讓類別載入器先查看 Web 應用程式,再要求父類別載入器尋找請求的類別或資源。

標準實作

Loader 的標準實作是 org.apache.catalina.loader.WebappLoader。它支援下列額外屬性(除了上面列出的常見屬性之外)

屬性 描述
loaderClass

要使用的 `java.lang.ClassLoader` 實作類別的 Java 類別名稱。自訂實作必須延伸 `org.apache.catalina.loader.WebappClassLoaderBase`。

如果未指定,預設值為 `org.apache.catalina.loader.ParallelWebappClassLoader`。預設的 loaderClass 具備平行功能,這表示多個執行緒可以並行載入不同的類別。非平行功能的 loaderClass 可用,且可透過指定 `org.apache.catalina.loader.WebappClassLoader` 使用。

巢狀元件

不得在 Loader 元素內嵌任何元件。

特殊功能

記錄

載入器會根據其類別名稱與記錄類別關聯。