2.3.1 JSPの実行機能の概要
JSPは,JSP仕様の標準の書式である標準シンタックスと,XML仕様の書式であるXMLシンタックスで記述できます。標準シンタックスで記述されたJSPをJSPページと呼び,XMLシンタックスで記述されたJSPをJSPドキュメントと呼びます。また,JSPページ,JSPドキュメントを総称して,JSPファイルと呼びます。
- 注意事項
-
初回リクエスト時にJSPファイルをコンパイルする場合,JDK 8以前よりも時間が掛かることがあります。これによる処理性能の劣化が問題となる場合は,JSPファイルの事前コンパイルの使用を検討してください。JSPファイルの事前コンパイルの詳細については,「2.5 JSP事前コンパイル機能とコンパイル結果の保持」を参照してください。
- 〈この項の構成〉
(1) JSPの構成
JSPは要素(ディレクティブ,アクション,スクリプティング要素)とテンプレートテキストから構成されます。テンプレートテキストには,ホワイトスペースが含まれます。通常,テンプレートテキストに含まれるホワイトスペースはそのまま保持されますが,JSP 2.1仕様から,JSPページまたは標準シンタックスのタグファイルのテンプレートテキストに含まれる不要なホワイトスペースを削除する機能が追加されました。詳細は,「8.2.9(2) 不要なホワイトスペースの削除機能」を参照してください。
- 参考
-
JSP 2.0仕様から,JSP ELが規定されました。JSP ELとは,アクションやテンプレートテキスト内に直接記述できる簡易言語です。詳細は「2.3.3 JSP ELの実行」を参照してください。
(2) トランスレーションエラー
トランスレーションエラーとは,JSPコンパイル処理のJSPファイルからjavaファイルへの変換(JSPトランスレーション)時に,構文誤りなどが原因でjavaファイルに変換できない場合に発生するエラーを指します。
JSPトランスレーションは次のタイミングで実行されますが,その際にトランスレーションエラーが発生するおそれがあります。
-
JSPへのリクエスト受信時
-
アプリケーションのリロード時
-
JSP事前コンパイル機能を使用する場合のアプリケーション開始時
-
JSP事前コンパイル機能を使用する場合のコマンド実行時
J2EEサーバ上でのJSPコンパイル時にトランスレーションエラーが発生した場合,メッセージKDJE39145-Eがサーブレットログに,メッセージKDJE39186-Eがメッセージログにそれぞれ出力されます。リクエスト処理時にトランスレーションエラーとなった場合,エラーステータスコード500を返します。
cjjspcコマンドでのJSP事前コンパイル時にトランスレーションエラーが発生した場合,メッセージKDJE39145-E,およびメッセージKDJE39186-Eがコンソールに出力されます。
なお,TLDファイルの解析,タグライブラリバリデータによるJSPの検証や,TagExtraInfoクラスで指定したスクリプト変数の重複など,ほかの原因でトランスレーションエラーが発生することもあります。この場合,原因に応じたメッセージが出力されます。トランスレーションエラー発生時に出力されるメッセージを,原因ごとに次の表に示します。
原因の分類 |
出力されるメッセージ |
---|---|
TLDファイルの解析 |
KDJE39214-E, KDJE39216-E, KDJE39193-E, KDJE39055-E, KDJE39205-E, KDJE39206-E, KDJE39207-E, KDJE39208-E, KDJE39296-E, KDJE39301-E, KDJE39302-E, KDJE39303-E, KDJE39305-E, KDJE39306-E, KDJE39307-E, KDJE39308-E |
タグライブラリバリデータによるJSPの検証 |
KDJE39104-E, KDJE39105-E, KDJE39106-E, KDJE39107-E, KDJE39108-E, KDJE39115-E, KDJE39116-E, KDJE39117-E, KDJE39134-E, KDJE39135-E |
TagExtraInfoクラスで指定したスクリプト変数の重複 |
KDJE39131-E, KDJE39132-E, KDJE39133-E, KDJE39136-E, KDJE39282-E, KDJE39283-E, KDJE39291-E, KDJE39294-E |