產生 JSP 類別檔

在執行時期, WebSphere® Application Server JavaServer Pages (JSP) 引擎會從 WebSphere Application Server temp 目錄或 Web 模組的 WEB-INF/classes 目錄載入 JSP 類別檔。 JSP 引擎會先在 temp 目錄中搜尋類別檔,然後在 Web 模組的 WEB-INF/classes 目錄中搜尋。

在預設安裝中, WebSphere Application Server temp 目錄通常是 profile_root/temp。 圖 1 顯示執行時期 JSP 引擎的處理邏輯。

[z/OS]您不應使用 CANCEL appserver_proc_name 指令來停止伺服器。 每次伺服器完全停止時,都會移除這些 temp 目錄。 不過,如果伺服器經常未完全停止 (如果您取消而非停止伺服器,則會發生此情況) ,則不會移除這些目錄,且用於暫存目錄的 HFS 最終會變滿。 如果您在安裝應用程式時預先編譯 JSP 檔,或在呼叫它們之前使用「 JspBatch編譯器」函數來預先編譯它們,也可以避免發生這個儲存體問題。

[z/OS]在執行時期編譯 JSP 時,會在每一個服務者暫存目錄中放置相同的產生類別。 當伺服器或服務者重新啟動時,就會刪除這些類別,這沒有效率,且會增加磁碟空間用量來保留相同已編譯類別的每一個副本。 如果服務者或伺服器因任何原因而失敗,則不會自動清除這些已編譯的類別。 此外,在每一個服務者重新啟動之後,必須重新編譯已刪除的 JSP 類別。

[z/OS]已更正先前提及的低效率。 在執行時期編譯 JSP 時, JSP 儲存器會將已編譯的類別產生到一般伺服器暫存目錄中,在伺服器或服務者重新啟動之後持續保存這個目錄。

重要事項

視批次編譯器目標的類型而定,批次編譯器支援在 WebSphere Application Server temp 目錄和 Web 模組的 WEB-INF/classes 目錄中產生類別檔。 此外,批次編譯器可讓您將類別檔產生至檔案系統上目標應用程式以外的任何目錄。 將類別檔產生至 Web 模組的 WEB-INF/classes 目錄可讓您將 Web 模組部署為自行包含的 Web 應用程式保存檔 (WAR) ,或企業保存檔 (EAR) 內的 WAR 檔。 下表顯示編譯類別檔時批次編譯器的行為。

表 1. 批次編譯器行為 編譯類別檔時的批次編譯器行為
  提供 ear.path 或 war.path 已提供 enterpriseApp.name
未提供 compileToDir ; compileToWebInf 未提供或為 true 類別檔會編譯到 Web 模組的 WEB-INF/classes 目錄中。 類別檔會編譯到 Web 模組的 WEB-INF/classes 目錄中。
未提供 compileToDir ; compileToWebInf 為 false 類別檔會編譯到 Web 模組的 WEB-INF/classes 目錄中。

類別檔會編譯至 WebSphere Application Server 暫存目錄,通常是 profile_root/temp

已提供 compileToDir ; 未提供 compileToWebInf ,或者為 true 或 false 類別檔會編譯到 compileToDir所指示的目錄中。 類別檔會編譯到 compileToDir所指示的目錄中。