JSP 引擎配置參數

WebSphere® Application Server中,您可以配置 Java™Server Pages (JSP) 引擎配置參數,以在正式作業伺服器環境中取得最佳效能,以及在開發環境中滿足開發人員的需求。

JSP 引擎參數區分大小寫。 如果指定給參數的值是由兩個以上以空格區隔的單字所組成,則您必須以引號括住該值。 部分參數會影響針對 JSP 或標籤檔產生的 Java 程式碼。 下列陳述式會識別這些參數: 此參數需要重新產生 Java 來源。 此陳述式指出如果修改配置參數,則在重新轉換 JSP 檔並重新編譯 Java 來源之前,參數的值不會變更任何內容。

最佳作法: 使用組合工具 (例如 Rational Application Developer) 來修改 IBM 延伸和連結檔。 您可以使用 IBM Bindings and Extensions Conversion Tool for Multi-Platforms ,將模組內的延伸和連結檔從 XMI 轉換成 XML。

allowMultipleAttributeValues

指定 JSP 儲存器是否可以儲存自訂標籤屬性的多個值。 將這個參數設為 true ,可讓 JSP 儲存器儲存多個值。 此參數的預設值為 false此參數需要重新產生 Java 來源。

compileWith主張

指定產生的 Java 類別是否應包含 Developer Kit Java Technology Edition 1.4 主張機能的支援。 將此參數設為 true 的效果是將 -source 1.4 選項傳遞至 Java 編譯器。 此參數的預設值為 false此參數需要重新產生 Java 來源。

classdebuginfo

指定編譯器是否在產生的類別檔中包含除錯資訊。 當您將這個參數設為 true時,會將 -g 選項傳遞給 Java 編譯器。 此參數的預設值為 false此參數需要重新產生 Java 來源。

convertAttrValueTo字串

指定在使用之前是否將重複標籤的開始及結束屬性轉換為字串。 此參數的預設值為 false此參數需要重新產生 Java 來源。

淘汰

指定編譯器在編譯產生的 Java 程式檔時是否產生淘汰警告。 當您將這個參數設為 true 時,會將 -deprecation 選項傳遞給 Java 編譯器。 此參數的預設值為 false此參數需要重新產生 Java 來源。

disableEl快取

如果您因為雜湊對映由表示式評估器保留而遭遇記憶體不足狀況,請將此參數設為 true 以停用 commons-el 表示式快取。 此參數的預設值為 false

disableJspRuntimeCompilation

如果這個選項設為 true,在執行時期, JSP 引擎不會轉換及編譯 JSP 檔; JSP 引擎只會載入經過前置編譯的類別檔。 JSP 原始檔不需要出現,就可以載入類別檔。 當這個選項設為 true 時,您可以安裝不含 JSP 程式碼的應用程式,但應用程式必須有經過前置編譯的類別檔。 使用同名的 Web 儲存器自訂內容來決定伺服器中所安裝之所有 Web 模組的行為。 如果同時設定 Web 儲存器自訂內容和 JSP 引擎選項,則 JSP 引擎選項優先。 此參數的預設值為 false

disableTld搜尋

將這個選項設為 true ,可在應用程式啟動時,防止 JSP 引擎在應用程式安裝目錄中搜尋 taglib 描述子 (TLD) 檔案。 如果這個選項設為 false,當應用程式啟動時, JSP 引擎會在應用程式安裝目錄中搜尋 TLD 檔。 此參數的預設值為 false

Web 儲存器自訂內容 com.ibm.wsspi.jsp.disableTldSearch可用來指定當應用程式啟動時,伺服器中所安裝之所有 Web 模組中的 JSP 引擎是否不會在應用程式安裝目錄中搜尋 TLD 檔。 如果針對 Web 儲存器自訂內容和 JSP 引擎選項設定了衝突的值,則 JSP 引擎選項的設定優先。

附註: 此選項僅適用於版本層次 7.0.0.3及更新版本。

evalQuotedAndEscaped表示式

將此選項設為 true ,以在決定是否評估表示式時適當地處理跳出字元及引號。

在 JSP 編譯的轉換階段期間, JSP 引擎會評估表示式。 跳出字元 (\) 之類的字元,或巢狀單一或雙引號,會導致 JSP 檔轉換失敗。 請參閱下列函數範例,其中包含已評估的字元:
<input type=text value=${fn:substring('1234567', 0,4)}/>
由於 fn:substring 陳述式前面的雙引號, JSP 檔無法編譯,因為轉換器未將函數對映程式新增至產生的 Java 類別。 此外,如果使用反斜線(\$)跳出錢幣符號 ($) ,轉換器仍會嘗試評估表示式,而不是將它視為文字字串。 若要適當地處理跳出字元及引號,您必須在失敗應用程式的 ibm-web-ext.xmiibm-web-ext.xml 檔案中,將 evalQuotedAndEscapedExpression 設為 true
下列程式碼範例顯示 ibm-web-ext.xmi 檔中的項目:
<jspAttributes xmi:id=JSPAttribute_1 
name=evalQuotedAndEscapedExpression value=true/> 
下列程式碼範例顯示 ibm-web-ext.xml 檔中的項目:
<?xml version=1.0 encoding=UTF-8?>
<web-ext
   xmlns=http://websphere.ibm.com/xml/ns/javaee
   xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
   xsi:schemaLocation=http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-ext_1_0.xsd
      version=1.0>
   <file-serving-attribute name=extendedDocumentRoot value=/opt/extDocRootDir />
   <jsp-attribute name=evalQuotedAndEscapedExpression value=true />
   <jsp-attribute name=extendedDocumentRoot value=/opt/extDocRootDir,${MY_CUSTOM_VARIABLE}  />
   
   <reload-interval value=3/>
   <auto-encode-requests value=false/>
   <auto-encode-responses value=false/>
   <enable-directory-browsing value=false/>
   <enable-file-serving value=true/>
   <pre-compile-jsps value=false/>
   <enable-reloading value=true/>
   <enable-serving-servlets-by-class-name value=false />	
</web-ext>

若要在所有 Web 應用程式中廣域套用此行為,您可以將 com.ibm.wsspi.jsp.evalQuotedAndEscapedExpression Web 儲存器自訂內容設為 true

extendedDocumentRoot

當應用程式需要存取應用程式 Web 應用程式保存檔 (WAR) 目錄以外的檔案時,請使用延伸文件根目錄機能。 這項機能可讓您以一或多個目錄路徑來配置應用程式,您可以從中提供靜態檔案和 JSP 檔。 當應用程式需要存取存在於 Web 應用程式保存檔 (WAR) 目錄之外的檔案時,您可以使用這個屬性。 比方說,如果有數個應用程式需要存取一組共用檔案,您可以將共用檔案放在您可以將每一個應用程式鏈結成延伸文件根目錄的目錄中。

若要配置具有延伸文件根目錄的應用程式,請將 extendedDocumentRoot 屬性作為檔案提供屬性新增至應用程式的 ibm-web-ext.xmiibm-web-ext.xml 檔。 這個屬性的值是一份以逗點區隔的目錄清單,作為靜態檔案的根目錄位置。

下列項目是 ibm-web-ext.xmi 檔內的範例:
<fileServingAttributes xmi:id=FileServingAttribute_1 name=extendedDocumentRoot value=/opt/extDocRootDir/>
下列範例基於 ibm-web-ext.xmi 檔案中屬性設為 /opt/extDocRootDir 值的前一個項目:
  • http://localhost/context_root/sample.html 資源的要求需要 sample.html 檔位於 /opt/extDocRootDir/sample.html 目錄結構中。
  • http://localhost 的要求: 9080/context_root/myDir/sample.gif 資源需要 sample.gif 檔案位於 /opt/extDocRootDir/myDir/sample.gif 目錄結構中。
下列項目是 ibm-web-ext.xml 檔內的範例:
<?xml version=1.0 encoding=UTF-8?>
<web-ext
   xmlns=http://websphere.ibm.com/xml/ns/javaee
   xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
   xsi:schemaLocation=http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-ext_1_0.xsd
      version=1.0>
   <file-serving-attribute name=extendedDocumentRoot value=/opt/extDocRootDir />
   <jsp-attribute name=evalQuotedAndEscapedExpression value=true />
   <jsp-attribute name=extendedDocumentRoot value=/opt/extDocRootDir, ${MY_CUSTOM_VARIABLE}/>
   <reload-interval value=3/>
   <auto-encode-requests value=false/>
   <auto-encode-responses value=false/>
   <enable-directory-browsing value=false/>
   <enable-file-serving value=true/>
   <pre-compile-jsps value=false/>
   <enable-reloading value=true/>
   <enable-serving-servlets-by-class-name value=false />	
</web-ext>
重要事項: 若要從延伸文件根目錄提供靜態檔案,您必須啟用檔案提供。

如果要以提供 JSP 檔的延伸文件根目錄來配置應用程式,請新增 extendedDocumentRoot 屬性作為 ibm-web-ext.xmiibm-web-ext.xml 檔的 JSP 屬性。 這個屬性的值是一份以逗點定界的目錄清單,作為 JSP 檔的根目錄位置。

下列項目是 ibm-web-ext.xmi 檔內的範例:
<jspAttributes xmi:id=JSPAttribute_1 name=extendedDocumentRoot value=/opt/extDocRootDir/>
下列範例顯示 ibm-web-ext.xml 檔內的項目:
<?xml version=1.0 encoding=UTF-8?>
<web-ext
   xmlns=http://websphere.ibm.com/xml/ns/javaee
   xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
   xsi:schemaLocation=http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-ext_1_0.xsd
      version=1.0>
   <file-serving-attribute name=extendedDocumentRoot value=/opt/extDocRootDir />
   <jsp-attribute name=evalQuotedAndEscapedExpression value=true />
   <jsp-attribute name=extendedDocumentRoot value=/opt/extDocRootDir, ${MY_CUSTOM_VARIABLE} />
   <reload-interval value=3/>
   <auto-encode-requests value=false/>
   <auto-encode-responses value=false/>
   <enable-directory-browsing value=false/>
   <enable-file-serving value=true/>
   <pre-compile-jsps value=false/>
   <enable-reloading value=true/>
   <enable-serving-servlets-by-class-name value=false />	
</web-ext>

您也可以使用 extendedDocumentRoot 屬性,將多個節點上的 WebSphere 變數定義到適當的目錄。

ibm-web-ext.xmi 範例:
<jspAttributes xmi:id=JSPAttribute_2 name=extendedDocumentRoot 
  		value=${MY_CUSTOM_VARIABLE}/>
ibm-web-ext.xml 範例:
 <jsp-attribute name=extendedDocumentRoot 
    value=${MY_CUSTOM_VARIABLE} />
其中 MY_CUSTOM_VARIABLE 是您要在多個節點上定義的 WebSphere 變數。
下列範例顯示將延伸文件根目錄定義成檔案提供屬性和 JSP 屬性的 ibm-web-ext.xmi 檔:
<?xml version=1.0 encoding=UTF-8?>
<com.ibm.ejs.models.base.extensions.webappext:WebAppExtension xmi:version=2.0
xmlns:xmi=http://www.omg.org/XMI
xmlns:com.ibm.ejs.models.base.extensions.webappext=webappext.xmi xmi:id=WebAppExtension_1
          reloadInterval=3
          reloadingEnabled=true
          fileServingEnabled=true>
      <webApp href=WEB-INF/web.xml#WebApp_ID/>
      <fileServingAttributes xmi:id=FileServingAttribute_1 name=extendedDocumentRoot
       value=/opt/extDocRootDir/>
      <jspAttributes xmi:id=JSPAttribute_1 name=extendedDocumentRoot
       value=/opt/extDocRootDir/>
<com.ibm.ejs.models.base.extensions.webappext:WebAppExtension>
下列範例顯示將延伸文件根目錄定義成檔案提供屬性和 JSP 屬性的 ibm-web-ext.xml 檔:
<?xml version=1.0 encoding=UTF-8?>
<web-ext
   xmlns=http://websphere.ibm.com/xml/ns/javaee
   xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
   xsi:schemaLocation=http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-ext_1_0.xsd
      version=1.0>
   <file-serving-attribute name=extendedDocumentRoot value=/opt/extDocRootDir />
   <jsp-attribute name=evalQuotedAndEscapedExpression value=true />
   <jsp-attribute name=extendedDocumentRoot value=/opt/extDocRootDir,${MY_CUSTOM_VARIABLE}  />
   
   <reload-interval value=3/>
   <auto-encode-requests value=false/>
   <auto-encode-responses value=false/>
   <enable-directory-browsing value=false/>
   <enable-file-serving value=true/>
   <pre-compile-jsps value=false/>
   <enable-reloading value=true/>
   <enable-serving-servlets-by-class-name value=false />	
</web-ext>

如果要求是歡迎使用檔的有效局部要求,則會傳回 404 錯誤。 如果 JSP 檔位於 JAR 檔內,且 reloadEnabled 屬性值為 true ,則會使用 JAR 檔的時間戳記來進行 isOutDated 檢查,以進行重新編譯。 此參數的預設值是空值。

支援的配置: 對於 IBM® 延伸和連結檔, 根據您是使用Java EE 5 之前的應用程式或模組,還是使用 Java EE 5 或更新版本的應用程式或模組, .xmi.xml 副檔名會有所不同。 IBM 延伸或連結檔命名為 ibm-*-ext.xmiibm-*-bnd.xmi ,其中 * 是延伸或連結檔的類型,例如 appapplicationejb-jarweb。 適用下列條件:
  • 如果應用程式或模組使用第 5 版之前的 Java EE 版本,副檔名必須是 .xmi
  • 對於使用 Java EE 5 或更新版本的應用程式或模組,副檔名必須是 .xml。 如果 .xmi 檔隨附於應用程式或模組,產品會忽略 .xmi 檔。

不過, Java EE 5 或更新版本的模組可以存在於包含Java EE 5 之前的檔案且使用 .xmi 副檔名的應用程式內。

ibm-webservices-ext.xmiibm-webservices-bnd.xmiibm-webservicesclient-bnd.xmiibm-webservicesclient-ext.xmiibm-portlet-ext.xmi 檔案會繼續使用 .xmi 副檔名。

ieClassID

指出 Internet Explorer 的 Java 外掛程式 COM 類別 ID。

<jsp:plugin> 標籤會使用此值。 預設 classidclsid:8AD9C840-044E-11D1-B3E9-00805F499D93

javaEncoding

指定在產生 .java 檔案時,以及由 Java 編譯器編譯時所使用的編碼。 當 JSP 頁面的頁面編碼與 UTF-8 不相容時,請設定此參數。 當設定 javaEncoding 時,編碼會透過 -encoding 引數傳遞給 Java 編譯器。 請注意 Jikes 不支援編碼。 預設值為 UTF-8。 此參數需要重新產生 Java 來源。

jdkSourceLevel

這個 JSP 引擎參數是在 WebSphere Application Server 6.1版中引進。 雖然 compileWithAssert 仍在 6.1版中運作,但請使用此參數而非 compileWithAssert 參數。

此參數的預設值為 17此參數需要重新產生 Java 來源。 下列是 jdkSourceLevel 參數值:
  • 13 會停用 JDK 1.4、JDK 5.0、JDK 6.0和 JDK 7.0的所有新語言特性。
  • 14 會啟用主張機能,並停用 JDK 5.0、JDK 6.0和 JDK 7.0的所有新語言特性。
  • 15 會啟用主張機能,並停用 JDK 6.0 和 JDK 7.0的所有新語言特性。
  • 16 會啟用主張機能,並停用 JDK 7.0的所有新語言特性。
  • 17 可讓您使用 JDK 7.0的新特性。
  • 18 可讓您使用 JDK 8.0的新特性。

jspClassLoaderLimit

WebSphere Application Server 會為應用程式中的每一個 JSP 建立一個 JSPExtensionClassLoader 物件。 這可能會導致這些物件使用增加的原生記憶體,這可能會導致 OutOfMemoryException。 此整數值決定要在記憶體中保留載入的 JSPExtensionClassLoader 物件數。

<jspAttributes xmi:id="JSPAttribute_1" name="jspClassLoaderLimit" value="1500"/>

jspClassLoaderExclusion清單

jspClassLoaderLimit 指定要在記憶體中保留載入的 JSPExtensionClassLoader物件數時,這個以逗點區隔的 JSP 值清單會指出不論 jspClassLoaderLimit所設定的限制為何,都不會卸載哪些 JSP。

<jspAttributes xmi:id="JSPAttribute_2" name="jspClassLoaderExclusionList" value="/test/RappHTML2.jsp,/test/RappHTML4.jsp"/>

jsp.file.extensions

對於其副檔名不是四個標準副檔名 ( .jsp.jspx.jsw.jsv) 的 JSP 檔,您可以利用這個參數來配置這些副檔名。 這些延伸會新增至標準延伸。

執行此動作的偏好方法是在 web.xml中建立 <jsp-property-group> ,並為每一個延伸新增 <url-pattern> 標籤。

JSP 引擎可以處理以冒號或分號區隔的副檔名清單。 例如:.ext1;.ext2:.extn

keepGenerated

指出保留 JSP 編譯器在處理的轉換階段期間所產生的 Java 檔。 此參數的預設值為 false此參數需要重新產生 Java 來源。

keepGeneratedclassfiles

指出保留 JSP 編譯器在處理的轉換階段期間所產生的類別檔。 此參數的預設值為 true此參數需要重新產生 Java 來源。

modifyPageContextVariable

在編譯標籤檔的轉換階段期間, JSP 儲存器會隱含地將 pageContext 變數用於 PageContext 物件。 在標籤檔中使用 pageContext 變數作為隱含變數名稱,並不符合 JSP 規格。 如果在標籤檔中使用區域 pageContext 變數的應用程式發生編譯錯誤,請將 modifyPageContextVariable 屬性設為 true ,以在標籤檔產生的 Java 程式碼中不再使用 pageContext 變數名稱。

recompileJspOnRestart

決定是否在第一次要求 JSP 檔時,在應用程式啟動之後重新轉換並重新編譯該檔案。 如果 recompileJspOnRestart 是 false ,除非參數 disableJspRuntimeCompilationtrue,否則必要的話,在第一次要求該 JSP 檔時仍會編譯 JSP 檔。 此參數的預設值為 false

reloadEnabled

決定如果修改 JSP 檔或其相依關係 (請參閱 trackDependencies) ,是否在執行時期轉換及編譯 JSP 檔。

如果 reloadEnabled 為 false ,除非 disableJspRuntimeCompilation 參數為 true ,否則仍會在第一個要求中編譯 JSP 檔 (必要的話)。 此參數的預設值為 false

如果未指定這個 JSP 引擎參數,則會使用 Web 模組類別重新載入的對等 Web 儲存器參數。 不過,對於部署描述子是 Servlet 2.2 層次的應用程式,預設值是 true。 這是為了支援從 WebSphere Application Server 4.x版移轉的應用程式。

reloadInterval

如果啟用重新載入, reloadInterval 會決定檢查之間的延遲,以查看 JSP 檔是否過期。

比方說,如果 reloadInterval 是 5 , JSP 引擎只會在 JSP 檔現行要求之前 5 秒以上完成最後一項這類檢查時,才會檢查 JSP 檔是否過期。 reloadInterval越大, JSP 引擎檢查是否需要重新載入 JSP 檔的頻率越低。 如果未指定這個 JSP 引擎參數,則會使用 Web 模組類別重新載入的對等 Web 儲存器參數。 不過,對於部署描述子是 Servlet 2.2 層次的應用程式,預設值是 5 秒。 這是為了支援從 WebSphere Application Server 4.x版移轉的應用程式。

reusePropertyGroupConfigOnInclude

對於轉移使用者: JSP 屬性群組中定義的大部分內容適用於整個轉換單元,例如,其 URL 型樣所符合的所要求 JSP 檔,以及它使用 include 指引所包含的所有檔案。 page-encoding 和 is-xml 內容是例外,他們分別適用於與其 URL 型樣相符之各 JSP 檔。 如果要將行為回復至 WebSphere Application Server 8.0 版之前的設定,請將屬性設定為 true 以將兩個內容值套用至整個轉換單位。

scratchdir

指定建立所產生類別檔的目錄。

系統內容 com.ibm.websphere.servlet.temp.dir 用來在伺服器層面設定 scratchdir 選項。 JSP 引擎 scratchdir 參數優先於系統內容 com.ibm.websphere.servlet.temp.dir。 此參數的預設值為 profile_root/temp此參數需要重新產生 Java 來源。

避免麻煩: 請勿指定將 JSP 暫存目錄放在相同層次或配置暫存目錄之下的目錄路徑。 配置暫存目錄的預設位置是 profile_home/config/temp

比方說,如果您將 JSP 暫存目錄的位置變更為 profile_home/config/temp ,或將 JSP 暫存目錄放在 profile_home/config/temp/temp配置暫存目錄之下,則會發生處理錯誤。

trackDependencies

如果啟用重新載入, trackDependencies 會判斷 JSP 引擎是否會追蹤所要求 JavaServer Pages 檔相依關係的修改,以及 JSP 檔本身的修改。

JSP 引擎所追蹤的相依關係如下:
  1. 靜態包含在 JSP 檔中的檔案
  2. JSP 檔中所參照的標籤檔 (排除 JAR 中的標籤檔)
  3. JSP 檔中所參照的 TLD 檔 (不包括 JAR 中的 TLD)
預設值是 false。

useFullPackageNames

如果 useFullPackageNamestrue, JSP 引擎會使用完整套件名稱來產生及載入 JSP 類別。

預設值是在相同套件中產生所有 JSP 類別。 (如需相關資訊,請參閱產生的 .java 和 .class 檔的套件和目錄主題)。 當 JSP 類別全部位於同一個套件時,JSP 引擎的類別載入器便知道應該以何種方式來載入它們。

在相同套件中產生所有 JSP 類別的預設方法具有產生較小檔案系統路徑的好處。 完整套件名稱的好處是能夠在 web.xml 檔中將經過前置編譯的 JSP 類別檔配置成 Servlet ,而不使用 jsp-file 屬性,從而產生單一類別載入器 (Web 應用程式的類別載入器) ,用來載入所有這類 JSP 類別。 同樣地,當 JSP 引擎的配置屬性 useFullPackageNamesdisableJspRuntimeCompilation 都是 true時,即使 JSP 檔未在 web.xml 檔中配置成 Servlet ,也會使用單一類別載入器來載入所有 JSP 類別。

useFullPackageNames 設為 true時,批次編譯器會在 Web 模組的 WEB-INF 目錄中產生 generated_web.xml 檔。 這個檔案包含已順利轉換和編譯的每一個 JSP 檔的 Servlet 配置資訊。 可以選擇性地將資訊複製到 Web 模組 web.xml 檔,以便 Web 儲存器將 JSP 檔載入為 Servlet。 請注意,如果以這種方式將 JSP 檔配置成 Servlet ,當修改 JSP 檔時,在執行時期不會重新載入 JSP 檔。 這是因為 JSP 檔會被視為一般 Servlet ,且其要求不會通過 JSP 引擎。 此參數需要重新產生 Java 來源。

useImplicitTagLibs

JSP 引擎會隱含地將 tsx 和 jsx 辨識成 JSP 引擎所提供之標籤庫的標籤庫字首。 如果使用 tsx 或 jsx 作為客戶標籤庫的字首,則客戶的標籤庫會置換隱含的標籤庫。 不過, JSP 引擎仍會快取隱含的標籤庫。 將此參數明確設為 false 會告知引擎不要快取隱含的標籤庫,並節省資源。 此參數的預設值為 true。

tsx 標籤的預設 URL 是 http://websphere.ibm.com/tags/tsx。 jsx 標籤的預設 URI 是 http://websphere.ibm.com/tags/jsx

您可能需要以不同於其預設 URI 的 URI 來定義 tsx 或 jsx 標籤庫字首。 此外,您可能需要以不同的 URI 來定義相同的程式庫字首。 在這兩種情況下,您可以設定 com.ibm.wsspi.jsp.allowtaglibprefixredefinition 自訂內容,以避免轉換錯誤。 如需相關資訊,請參閱 JavaServer Pages 自訂內容的相關說明文件。

useInMemory

指定 JSP 引擎在系統記憶體中轉換及編譯 Java 程式碼。

當未設定這個選項時, JSP 引擎必須執行下列步驟:
  1. 將已翻譯的 Java 檔寫入檔案系統
  2. 從檔案系統載入 Java 檔
  3. 將程式碼編譯成類別檔
  4. 將類別寫入檔案系統
  5. 將類別檔載入至類別載入器。
避免麻煩: 不會將 .class 檔或 .java 檔寫入系統磁碟。 如果要從經過前置編譯的 JSP 程式碼除錯或建立 JAR 檔,您需要停用這個選項。

useJikes

指定 Jikes 是否用於編譯 Java 程式檔。

附註: Jikes 未隨附於 WebSphere Application Server。 此參數的預設值為 false此參數需要重新產生 Java 來源。

usePageTagPool

在個別 JavaServer 頁面上啟用或停用重複使用自訂標籤處理程式。 此參數的預設值為 false此參數需要重新產生 Java 來源。

useThreadTagPool

當使用執行緒層次標籤處理程式儲存區時,標籤處理程式可以在單一 Web 模組中的所有 JSP 頁面中個別出現的自訂動作之間,在個別要求之間重複使用。 此參數的預設值為 false此參數需要重新產生 Java 來源。

啟用自訂標籤處理程式重複使用可能會顯示標籤處理程式程式碼中與標籤重複使用能力相關的問題。 自訂標籤處理程式應該一律執行兩件事:
  • 標籤處理程式的釋放方法應該重設其狀態,並釋放它所使用的任何專用資源。 JSP 引擎可確保在對標籤處理程式進行記憶體回收之前,先呼叫 release 方法。
  • 在 doEnd標籤方法中,必須重設與此實例相關聯的所有實例狀態。

詳細

指出編譯器在編譯產生的 Java 原始碼時產生詳細輸出。 將此參數設為 true 的效果是將 -verbose 選項傳遞至 Java 編譯器。 此參數的預設值為 false。 此參數需要重新產生 Java 來源。

啟用自訂標籤處理程式重複使用可能會顯示標籤處理程式程式碼中與標籤重複使用能力相關的問題。 自訂標籤處理程式應該一律執行兩件事:
  • 標籤處理程式的釋放方法應該重設其狀態,並釋放它所使用的任何專用資源。 JSP 引擎可確保在對標籤處理程式進行記憶體回收之前,先呼叫 release 方法。
  • 在 doEnd標籤方法中,必須重設與此實例相關聯的所有實例狀態。
    警告:
    使用頁面或執行緒標籤儲存區時,如果發生異常狀況,則不會呼叫 doEnd標籤方法,如果有必須清除的服務狀態,則應該實作 TryCatchFinally 介面。