• 検索結果がありません。

JSP 事前コンパイルを使用しない場合の JSP コンパイル結果

2.5  JSP 事前コンパイル機能とコンパイル結果の保持

2.5.6  JSP 事前コンパイルを使用しない場合の JSP コンパイル結果

JSP 事前コンパイルを使用しない場合,JSP ファイルのコンパイルは,JSP ファイルへの初回アクセス時に 実施されます。ここでは,JSP 事前コンパイル機能を使用しない場合の,JSP コンパイル結果,およびコン パイル結果の出力先を変更する方法について説明します。

(1) JSP コンパイル結果のライフサイクル

JSP 事前コンパイルを使用しない場合の JSP のコンパイル結果のライフサイクルについて説明します。

コンパイル結果の生成

JSP 事前コンパイル機能で事前に JSP ファイルのコンパイルを実施していない場合は,JSP コンパイル 結果は次のどちらかのタイミングで生成されます。

• JSP に最初にアクセスするとき

• DD(web.xml)で JSP に対し<load-on-startup>が指定されている,Web アプリケーションを開 始するとき

コンパイル結果の削除

JSP のコンパイル結果は,次のタイミングで削除されます。

• J2EE アプリケーションのアンデプロイ時

• J2EE サーバの起動時

• J2EE サーバの終了時 注※

JSP コンパイル結果を保持しない設定にしている場合,削除されます。なお,J2EE サーバ起動時に ついては,コンパイル結果の削除は,サーバが強制終了された場合に備えて実施されます。

(2) JSP ファイルのコンパイル結果の保持

JSP 事前コンパイルをしない場合,Web コンテナでは,JSP のコンパイル結果である,Java ソースファイ ルおよびクラスファイルを,J2EE サーバの再起動時に保持するかどうか設定できます。

JSP ファイルのコンパイル結果を保持するための設定は,J2EE サーバのプロパティをカスタマイズして設 定します。J2EE サーバの動作設定のカスタマイズについては,「2.5.8 実行環境での設定(J2EE サーバの 設定)」を参照してください。

! 注意事項

Web アプリケーションアンデプロイ時の注意

デフォルトでは,JSP のコンパイル結果を保持する設定になっています。また,JSP コンパイル結果を保持す る設定をしていても,Web アプリケーションをアンデプロイすると,JSP のコンパイル結果は削除されま す。このため,ユーザは,サーバの再起動時に JSP のコンパイル結果を削除する必要はありません。JSP コ ンパイル結果を保持する設定で Web コンテナを稼働したあと,JSP コンパイル結果が不要となった場合は,

J2EE アプリケーションをアンデプロイしてください。

JSP のコンパイル結果は保持する設定にしておくことをお勧めします。

(3) JSP コンパイル結果の出力先

JSP 事前コンパイルを実施していない場合,JSP コンパイル結果は JSP 用テンポラリディレクトリに出力さ れます。

出力されるファイルは次のとおりです。

1. JSP ファイルから生成された Java ソースファイル

2. 1.の Java ソースファイルをコンパイルしたクラスファイル 3. タグファイルから生成された Java ソースファイル

4. 3.の Java ソースファイルをコンパイルしたクラスファイル

ここでは,デフォルトの出力先と,出力先のディレクトリ構成について説明します。

なお,出力されるクラス名については,「2.5.7 JSP コンパイル結果のクラス名」を参照してください。

(a) デフォルトの出力先

JSP 事前コンパイルを実行していない場合,JSP コンパイル結果は,JSP 用テンポラリディレクトリ下に作 成される,Web アプリケーション単位のディレクトリに出力されます。デフォルトの JSP 用テンポラリ ディレクトリは次の場所になります。

Windows の場合

<Application Server のインストールディレクトリ>\CC\server\repository\<サーバ名称>\web UNIX の場合

/opt/Cosminexus/CC/server/repository/<サーバ名称>/web

なお,JSP 用テンポラリディレクトリは,デフォルト値が設定されていますが,必要に応じて変更できま す。JSP 用テンポラリディレクトリの変更については,「2.5.8 実行環境での設定(J2EE サーバの設定)」

を参照してください。

JSP 用テンポラリディレクトリ下には Web アプリケーション単位でディレクトリが作成され,該当する Web アプリケーション内の JSP コンパイル結果が出力されます。

なお,Web アプリケーション単位のディレクトリは,コンテキストルート名を基にしたディレクトリ名と なります。コンテキストルート名にスラッシュ(/),ドル記号($),パーセント(%),プラス記号(+)

が含まれる場合は,次に示す文字に変換されます。

変換前の文字 変換後の文字

/ $2f

$ $24

% $25

+ $2b

例:

JSP 用テンポラリディレクトリがデフォルト,コンテキストルート名が「J2EE_AP1/WEB_AP1_war」

である場合,該当する Web アプリケーションの JSP コンパイル結果の出力先を次に示します。

• Windows の場合

<Application Server のインストールディレクトリ>\CC\server\repository\<サーバ名称>

\web\J2EE_AP1$2fWEB_AP1_war

• UNIX の場合

/opt/Cosminexus/CC/server/repository/<サーバ名称>/web/J2EE_AP1$2fWEB_AP1_war (b) 出力先のディレクトリ構成

JSP コンパイル結果の出力先ディレクトリ構成を次の図に示します。

図 2‒8 JSP コンパイル結果の出力先ディレクトリ構成(JSP 事前コンパイルを実行していない場合)

ディレクトリ構成について説明します。

• タグファイルから生成されたクラスのパッケージ名は次の形式となります。

WEB-INF/tags 下のタグファイルの場合

org.apache.jsp.tag.web.</WEB-INF/tags ディレクトリ下のパス>

WEB-INF/lib 下の jar ファイルに含まれるタグファイルの場合

org.apache.jsp.tag.meta.<jar ファイル名をエンコードした文字列>.<jar ファイル内の META-INF/tags ディレクトリ下のパス>

• JSP ファイルおよびタグファイルから生成されるクラスファイルの出力先ディレクトリのパス長は,OS の上限によって制限があります。OS の上限を超えるパス長になる場合は,JSP ワークディレクトリ名 を変更してください。

Outline

関連したドキュメント