サーブレットのライフサイクル

サーブレットのライフサイクルには、次の図のようにいくつかの段階があります。

初期化段階で、JRun はサーブレットの init メソッドを使用します。init メソッドは一度だけ呼び出されます。したがって、サーブレットを呼び出すたびに貴重なリソースを割り当てる必要はありません。init メソッドは、サーブレットがそのライフサイクル中に必要とするリソースを割り当てるために使用します。JRun は、起動時 (JMC 内で有効にされている場合) または最初のクライアント要求を受け取ったときに init メソッドを呼び出します。

サーブレット クラス内で init メソッドを書き換える必要はありません。初期化時に何らかのタイプの処理を実行する場合にのみ、このメソッドを書き換えます。

サーブレットが受信したすべての要求を処理したとき、要求処理段階に入ります。JRun は、サーブレットがどのクラスを展開したかによって、要求を service メソッド、または doXxx メソッドへ送ります。

これらのクラスの詳細については、227 ページの第 20 章「Java サーブレット API によるプログラミング」 を参照してください。


メモ

JRun は、各サーブレットのインスタンスをそのクラス名ではなく、エイリアスに よって管理します。サーブレットのエイリアスを定義していない場合、JRun は動的に エイリアスを作成します。エイリアスを登録名または基準名とも言います。


JRun サーバーをシャットダウンしたとき、または JRun サーバーが変更されたサーブレットを再ロードしたとき、JRun はサーブレットをメモリからアンロードします。アンロード時に、サーブレットは破棄段階に入ります。破棄要求の開始時に、JRun は destroy メソッドを呼び出します。destroy メソッド内で、サーバーが使用していたリソースの割り当てを解放できます。destroy メソッドが呼び出されると、クラスをガーベッジ コレクションに入れることができます。