載入器元件
目錄
簡介
載入器元素表示將用於載入 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 元素內嵌任何元件。
特殊功能
記錄
載入器會根據其類別名稱與記錄類別關聯。