デフォルトでは、JavaServer Pages (JSP) エンジンは、要求された JSP ファイルを変換し、 .java ファイルをコンパイルして、コンパイルされたサーブレットを ランタイム環境にロードします。 .class ファイルが存在しない場合であっても、 実行時に JSP ファイルが変換されたりコンパイルされたりしないように指定することにより、 JSP エンジンのデフォルトの動作を変更できます。
ランタイム・コンパイルが使用不可である場合は、JSP ファイルをプリコンパイルする必要があります。 これには以下のような利点があります。
JSP ファイルのランタイム・コンパイルは、以下のように、 グローバルまたは個々の Web アプリケーション・ベースで使用不可にすることができます。
すべての Web アプリケーションに対する JSP ファイルの変換とコンパイルを使用不可にするには、 Web コンテナーのカスタム・プロパティー disableJspRuntimeCompilation を true に設定します。
このプロパティーは、 管理コンソール内の Web コンテナーの「カスタム・プロパティー」パネルを介して設定します。 この管理コンソール・ページを表示するには、次のようにクリックします。
Servers > Application servers > server_name > Web container settings > Web container > Custom properties > property_name
この設定の有効な値は true または false です。 このプロパティーが true に設定されている場合、 JSP ファイルの変換とコンパイルは、すべての Web アプリケーションに対して、ランタイムに使用不可になります。
特定の Web アプリケーションに対して JSP ファイルの変換とコンパイルを使用不可にするには、 JSP エンジン初期化パラメーター disableJspRuntimeCompilation を true に設定します。 この設定が使用可能になっていると、JSP エンジンの実行時動作が決定され、 Web コンテナーのカスタム・プロパティー設定がオーバーライドされます。
このパラメーターは 、アプリケーションのアセンブル の 「JavaServer Pages attribute assembly settings」パネルを介して設定します。
この設定の有効な値は true または false です。 このパラメーターが true に設定されている場合、 その特定の Web アプリケーションに対して、 JSP ファイルの変換とコンパイルがランタイムに使用不可になり、 JSP エンジンはプリコンパイル済みのファイルのみをロードします。
Web コンテナーのカスタム・プロパティーも JSP パラメーターも設定されていないとき、 .class ファイルが存在せず、または古い場合には、JSP ファイルに対する最初の要求の結果、 JSP ファイルの変換とコンパイルが行われます。 それ以降も、このファイルに対して要求が出されると、 変換とコンパイルが行われますが、これは、以下の条件が満たされた場合に限ります。
ランタイム・コンパイルを使用不可にしているときに、 一致する .class ファイルを持たない JSP ファイルに対する要求が着信すると、 JSP エンジンは、ブラウザーに HTTP エラー 500 (内部サーバー・エラー) を戻します。 この場合、 例外は System Out (SYSOUT) および First Failure Data Capture (FFDC) のログに書き込まれます。
JSP ファイルに、一致する .class ファイルが含まれているが、 そのファイルが期限切れになっているという場合、JSP エンジンは引き続き .class ファイルをメモリー内にロードします。