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 コンテナーが複数のカスタム・タグ属性の値を格納できるかどうかを 指定します。 JSP コンテナーでの複数の値の格納を許可するには、このパラメーターを true に設定します。 このパラメーターのデフォルト値は false です。 このパラメーターは、Java ソースの再生成を必要とします。

compileWithAssert

生成された Java クラスに、Developer Kit, Java Technology Edition 1.4 Assertion 機能のサポートを含めるかどうかを指定します。 このパラメーターを true に設定すると、-source 1.4 オプションが Java コンパイラーに渡されます。 このパラメーターのデフォルトは false です。 このパラメーターは、Java ソースの再生成を必要とします。

classdebuginfo

コンパイラーが生成済みクラス・ファイルにデバッグ情報を組み込むかどうかを指定します。 このパラメーターを trueに設定すると、-g オプションが Java コンパイラーに渡されます。 このパラメーターのデフォルトは false です。 このパラメーターは、Java ソースの再生成を必要とします。

convertAttrValueToString

繰り返しタグの開始属性と終了属性が使用される前に、それらの属性をストリングに変換するかどうかを指定します。 このパラメーターのデフォルトは false です。 このパラメーターは、Java ソースの再生成を必要とします。

deprecation

生成された Java ソースのコンパイル時に、コンパイラーが非推奨の警告を生成するかどうかを指定します。 このパラメーターを true に設定すると、 -deprecation オプションが Java コンパイラーに渡されます。 このパラメーターのデフォルトは false です。 このパラメーターは、Java ソースの再生成を必要とします。

disableElCache

ハッシュ・マップが式エバリュエーターによって保持されているためにメモリー不足状態が発生している場合は、このパラメーターを true に設定して、 commons-el 式キャッシュを使用不可にします。 このパラメーターのデフォルトは false です。

disableJspRuntimeCompilation

このオプションが true に設定されている場合、JSP エンジンは実行時に JSP ファイルの変換およびコンパイルを行わないため、JSP エンジンはプリコンパイルされたクラス・ファイルのみをロードします。 クラス・ファイルをロードするために JSP ソース・ファイルは必要ありません。 このオプションが true に設定されると、JSP ソースなしでアプリケーションをインストールすることができますが、 アプリケーションにはプリコンパイルされたクラス・ファイルが必要になります。 同じ名前の Web コンテナー・カスタム・プロパティーが、サーバーにインストールされたすべての Web モジュールの振る舞いを決定するために使用されます。 Web コンテナー・カスタム・プロパティーと JSP エンジン・オプションの両方が設定されている場合、JSP エンジン・オプションが優先されます。 このパラメーターのデフォルトは false です。

disableTldSearch

このオプションを true に設定すると、アプリケーションの開始時に、JSP エンジンがアプリケーション・インストール・ディレクトリーを検索して taglib ディスクリプター (TLD) ファイルを見つける処理が回避されます。 このオプションが false に設定されている場合は、アプリケーションを始動するときに、JSP エンジンがアプリケーションのインストール・ディレクトリーで TLD ファイルを検索します。 このパラメーターのデフォルトは false です。

Web コンテナー・カスタム・プロパティー com.ibm.wsspi.jsp.disableTldSearch を使用して、 サーバーにインストールされたすべての Web モジュール内の JSP エンジンが、アプリケーション開始時にアプリケーション・インストール・ディレクトリーを検索して TLD ファイルを見つける処理を行わないかどうかを指定できます。 Web コンテナーのカスタム・プロパティーと JSP エンジン・オプションに設定した値が競合している場合は、JSP エンジン・オプションの設定値が優先されます。

注: このオプションは、バージョン・レベル 7.0.0.3以上でのみ使用可能です。

evalQuotedAndEscapedExpression

式を評価するかどうかを判別する場合に、エスケープ文字および引用符を適切に処理するには、このオプションを true に設定します。

JSP コンパイルの変換フェーズ中に、JSP エンジンによって式が評価されます。 エスケープ文字 (¥) やネストされた単一引用符または二重引用符などの文字は、JSP ファイル変換の失敗の原因になります。 評価される文字を含んでいる関数の例を以下に示します。
<input type=text value=${fn:substring('1234567', 0,4)}/>
fn:substring ステートメントの直前に二重引用符があるため、変換プログラムが生成された Java クラスに関数マッパーを追加しなかったため、JSP ファイルはコンパイルに失敗します。 また、ドル記号 ($) が円記号(\$)を使用してエスケープされた場合でも、変換プログラムは、式をリテラル・ストリングとして処理するのではなく、評価しようとします。 エスケープ文字と引用符を正しく処理するには、失敗したアプリケーションの ibm-web-ext.xmi ファイルまたは ibm-web-ext.xml ファイルで evalQuotedAndEscapedExpressiontrue に設定する必要があります。
以下のコード・サンプルは、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 ファイルがある 1 つ以上のディレクトリー・パスを使用してアプリケーションを構成することができます。 この属性は、Web アプリケーション・アーカイブ (WAR) ディレクトリーの外部にあるファイルへのアクセスをアプリケーションが要求したときに使用できます。 例えば、複数のアプリケーションが一連の共通ファイルにアクセスする必要がある場合は、その共通ファイルをディレクトリーに置き、各アプリケーションをそこへ拡張文書ルート・ディレクトリーとしてリンクすることができます。

拡張文書ルートを使用してアプリケーションを構成するには、extendedDocumentRoot 属性をファイル・サービス属性として、アプリケーション用 ibm-web-ext.xmi ファイルまたは ibm-web-ext.xml ファイルに追加します。 この属性の値は、静的ファイルのルート・ディレクトリー・ロケーションとして機能するディレクトリーをコンマで区切ったリストです。

以下に、ibm-web-ext.xmi ファイル内のエントリー例を示します。
<fileServingAttributes xmi:id=FileServingAttribute_1 name=extendedDocumentRoot value=/opt/extDocRootDir/>
以下は、属性を /opt/extDocRootDir 値に設定した ibm-web-ext.xmi ファイル内の上記エントリーを基にした例です。
  • http://localhost:9080/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 属性を JSP 属性として、ibm-web-ext.xmi ファイルまたは ibm-web-ext.xml ファイルに追加します。 この属性の値は、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 チェックに使用されます。 このパラメーターのデフォルトは null です。

サポートされる構成: IBM® 拡張ファイルおよびバインディング・ファイルの場合、 .xmi ファイル名または .xml ファイル名の拡張子は、Java EE 5 より前のアプリケーションまたはモジュールを使用しているか、 Java EE 5 以降のアプリケーションまたはモジュールを使用しているかによって異なります。 IBM 拡張ファイルまたはバインディング・ファイルには、 ibm-*-ext.xmi または ibm-*-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.xmi、および ibm-portlet-ext.xmi ファイルは、引き続き .xmi ファイル拡張子を使用します。

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"/>

jspClassLoaderExclusionList

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 という 4 つの標準拡張子以外の拡張子を持つ 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 ファイルは最初の要求でコンパイルされます。 このパラメーターのデフォルトは false です。

reloadEnabled

JSP ファイルまたはその依存関係 (trackDependencies を参照) が変更される場合、JSP ファイルが実行時に変換およびコンパイルされるかどうかを決定します。

reloadEnabled が false の場合、パラメーター disableJspRuntimeCompilation が true でない場合は、 必要に応じて、JSP ファイルは最初の要求でコンパイルされます。 このパラメーターのデフォルトは false です。

この JSP エンジン・パラメーターが指定されていない場合は、Web モジュール・クラスの再ロードに、同等な Web コンテナー・パラメーターが使用されます。 ただし、デプロイメント記述子がサーブレット 2.2 レベルであるアプリケーションでは、デフォルトは true になります。 これは、 WebSphere Application Server バージョン 4.xからマイグレーションされるアプリケーションのサポートのために行われます。

reloadInterval

再ロードが使用可能になっている場合は、reloadInterval により、 JSP ファイルが期限切れになっているかどうかを確認するための検査の間隔が決まります。

例えば、reloadInterval が 5 だとすると、JSP エンジンは、JSP ファイルが期限切れになっているかどうかの検査を、 そのような検査が最後に行われてから JSP ファイルに対する現行要求までに、5 秒より長く経過している場合にのみ実行します。 reloadInterval が大きくなればなるほど、 JSP エンジンが JSP ファイル再ロードの必要性を検査する頻度は少なくなります。 この JSP エンジン・パラメーターが指定されていない場合は、Web モジュール・クラスの再ロードに、同等な Web コンテナー・パラメーターが使用されます。 ただし、デプロイメント記述子がサーブレット 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 に設定して、変換単位全体にこの 2 つのプロパティー値が適用されるようにします。

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 は、 要求された JavaServer Pages ファイルの依存関係に対する変更と JSP ファイル自体に対する変更を JSP エンジンがトラッキングするかどうかを決定します。

JSP エンジンがトラッキングする依存関係は、以下のとおりです。
  1. JSP ファイル内に静的に組み込まれたファイル
  2. JSP ファイルで参照されるタグ・ファイル (JAR 内にあるタグ・ファイルを除く)
  3. JSP ファイルで参照される TLD ファイル (JAR 内にある TLD を除く)
デフォルトは false です。

useFullPackageNames

useFullPackageNamestrue の場合、 JSP エンジンは完全パッケージ名を使用して JSP クラスを生成およびロードします。

デフォルトでは、同じパッケージにあるすべての JSP クラスが生成されます。 (詳しくは、『生成された .java および .class ファイル用のパッケージおよびディレクトリー』トピックを参照してください)。 JSP エンジンのクラス・ローダーは、すべて同じパッケージにあるとき、 JSP クラスをどのようにロードするかを把握しています。

同じパッケージにすべての JSP クラスを生成するというデフォルトのメソッドには、 より小さなファイル・システム・パスを生成するという利点があります。 完全パッケージ名には、jsp-file 属性を使用することなく、プリコンパイルした JSP クラス・ファイルの構成を web.xml ファイルのサーブレットとして使用可能にすることによって、単一クラス・ローダー、Web アプリケーションのクラス・ローダー、がすべてのこのような JSP クラスをロードするのに使用されるようになるという利点があります。 同様に、JSP エンジンの構成属性 useFullPackageNames および disableJspRuntimeCompilation が両方とも true の場合、 JSP ファイルが web.xml ファイルでサーブレットとして構成されていなくても、 単一のクラス・ローダーを使用してすべての JSP クラスをロードします。

useFullPackageNamestrue に設定されている場合、バッチ・コンパイラーは Web モジュールの WEB-INF ディレクトリーに generated_web.xml ファイルを生成します。 このファイルには、正常に変換され、コンパイルされた各 JSP ファイルのサーブレット構成情報が含まれます。 情報は、オプションで Web モジュールの web.xml ファイルにコピーすることができ、JSP ファイルは Web コンテナーによってサーブレットとしてロードされます。 この方法で JSP ファイルがサーブレットとして構成されると、JSP ファイルが変更されても、 ランタイムで JSP ファイルが再ロードされることはありません。 これは、JSP ファイルが通常のサーブレットとして扱われ、 それに対する要求は JSP エンジンを介して渡されないためです。 このパラメーターは、Java ソースの再生成を必要とします。

useImplicitTagLibs

JSP エンジンは、 JSP エンジンによって提供されるタグ・ライブラリーのタグ・ライブラリー接頭部として tsx および jsx を暗黙的に認識します。 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 を使用して、同じライブラリーの接頭部を定義する必要が生じることがあります。 これらの 2 つの場合には、com.ibm.wsspi.jsp.allowtaglibprefixredefinition カスタム・プロパティーを設定して、変換エラーを回避できます。 詳しくは、JavaServer Pages カスタム・プロパティーに関する資料を参照してください。

useInMemory

JSP エンジンがシステム・メモリー内の Java コードを変換してコンパイルすることを指定します。

このオプションが設定されていない場合、JSP エンジンでは以下のステップを実行する必要があります。
  1. 変換された Java ファイルをファイル・システムに書き込みます。
  2. ファイル・システムからの Java ファイルのロード
  3. コードをクラス・ファイルにコンパイルします。
  4. クラスをファイル・システムに書き込みます。
  5. クラス・ファイルをクラス・ローダーにロードします。
問題の回避: .class ファイルも .java ファイルもシステム・ディスクに書き込まれません。 プリコンパイル済みの JSP コードから JAR ファイルをデバッグまたは作成する場合、このオプションを使用不可にする必要があります。

useJikes

Java ソースのコンパイルに Jikes を使用するかどうかを指定します。

注: Jikes は、 WebSphere Application Serverには付属していません。 このパラメーターのデフォルトは false です。 このパラメーターは、Java ソースの再生成を必要とします。

usePageTagPool

個々の JavaServer Pages ベースのカスタム・タグ・ハンドラーの再利用を有効または無効にします。 このパラメーターのデフォルトは false です。 このパラメーターは、Java ソースの再生成を必要とします。

useThreadTagPool

スレッド・レベルのタグ・ハンドラー・プーリングが使用されている場合、単一の Web モジュール内にあるすべての JSP ページにわたってカスタム・アクションが出現するたびに、個別の要求全体を通じてタグ・ハンドラーを再利用することができます。 このパラメーターのデフォルトは false です。 このパラメーターは、Java ソースの再生成を必要とします。

カスタム・タグ・ハンドラーの再利用を有効にすると、タグの再利用可能性に関するタグ・ハンドラー・コード内の問題が明らかになる場合があります。 カスタム・タグ・ハンドラーは、通常、以下の 2 つを行う必要があります。
  • タグ・ハンドラーの release メソッドは、そのハンドラーの状態をリセットし、そのハンドラーが使用したすべての専用リソースを解放しなければなりません。 JSP エンジンは、タグ・ハンドラーがガーベッジ・コレクションされる前に、 release メソッドを確実に呼び出します。
  • doEndTag メソッドでは、 このインスタンスに関連付けられているすべてのインスタンス状態がリセットされなければなりません。

verbose

生成された Java ソース・コードのコンパイル時に、コンパイラーが詳細出力を生成することを示します。 このパラメーターを true に設定すると、-verbose オプションが Java コンパイラーに渡されます。 このパラメーターのデフォルトは false です。 このパラメーターは、Java ソースの再生成を必要とします。

カスタム・タグ・ハンドラーの再利用を有効にすると、タグの再利用可能性に関するタグ・ハンドラー・コード内の問題が明らかになる場合があります。 カスタム・タグ・ハンドラーは、通常、以下の 2 つを行う必要があります。
  • タグ・ハンドラーの release メソッドは、そのハンドラーの状態をリセットし、そのハンドラーが使用したすべての専用リソースを解放しなければなりません。 JSP エンジンは、タグ・ハンドラーがガーベッジ・コレクションされる前に、 release メソッドを確実に呼び出します。
  • doEndTag メソッドでは、 このインスタンスに関連付けられているすべてのインスタンス状態がリセットされなければなりません。
    注意:
    ページまたはスレッドのタグ・プーリングを使用すると、例外が発生した場合に doEndTag メソッドが呼び出されません。クリアする必要があるサービス状態がある場合は、TryCatchFinally インターフェースを実装する必要があります。