JSPを更新した場合には,JSPの再コンパイル,またはクラスファイルの監視によって更新が検知され,JSPがリロードされます。JSPのリロード方法を次に示します。
- JSPの再コンパイルによるリロード
Webコンテナは,ロードされたJSPファイル,タグファイル,JSPファイルまたはタグファイルが依存するファイルが更新されているかどうかをチェックし,更新日時がロード時と異なる場合には,再コンパイルしてJSPをリロードします。
更新を検知してJSPの構成ファイル更新用インターバルを経過したあとに,ファイルを再コンパイルします。コンパイルが完了し,処理中のリクエストがなくなったことを検知したら,リロード処理を開始します。
- クラスファイルの監視によるリロード
Webコンテナは,WebコンテナにロードされたJSPファイルから生成されたクラスファイルが更新されているかどうかをチェックし,更新日時がロード時と異なる場合に,JSPをリロードします。
更新を検知してJSPの構成ファイル更新用インターバルを経過したあとに,処理中のリクエストがなくなったことを検知したら,リロード処理を開始します。
クラスファイルの更新のタイミングは次のどちらかです。
- JSP事前コンパイルのコマンドを実行し,JSPファイルをコンパイルしてクラスファイルを生成したとき
- JSP事前コンパイルでコンパイルされたクラスファイルを,JSPワークディレクトリにコピーして上書きしたとき
JSPの事前コンパイルについては,「4.7 JSPの事前コンパイルとコンパイル結果の保持」を参照してください。
JSPのリロード方法の差異を次の表に示します。
表7-11 JSPのリロード方法の差異
項目 |
JSPの再コンパイルによるリロードの場合 |
クラスファイルの監視によるリロードの場合 |
JSPの事前コンパイル機能使用の有無 |
JSP事前コンパイル機能は無効となります。 |
JSP事前コンパイル機能は有効となります。 |
更新検知の対象ファイル※ |
- JSPファイル
- タグファイル
- JSPファイルまたはタグファイルが依存するファイル
|
|
更新検知後の処理 |
ファイルをコンパイルし,リロードします。 |
クラスファイルをリロードします。 |
- 注※
- Webコンテナにロードされていないファイル,または更新検知の対象ではないファイルを更新しても検知されません。
どちらのリロード方法の場合でも,ファイルの更新を検知するために,JSPの更新検知インターバルとJSPの構成ファイル更新用インターバルを指定できます。更新検知インターバルについては,「7.5.3 J2EEアプリケーションの更新検知インターバル」を参照してください。構成ファイル更新用インターバルについては,「7.5.4 J2EEアプリケーションの構成ファイル更新用インターバル」を参照してください。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.