サーブレット API

サーブレットクラスは、javax.servlet.Servlet インターフェイスを実装する必要があります。サーブレット API には、このインターフェイスを実装し、Java サーブレットを作成するときに拡張できる次の 2 つのクラスが含まれています。

基本サーブレットクラスおよびインターフェイス

次の図で示すように、サーブレット API は、java.iojava.langjavax.servletjavax.http.servlet パッケージにあるクラスやインターフェイスを使用します。

この図は、javax.servlet クラスと javax.http.servlet クラスを図解したものです。

サーブレット API のクラス、インターフェイス、および例外の詳細については、『Servlet API JavaDocs』を参照してください。

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

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

この図は、サーブレットのライフサイクルを示しています。

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

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

サーブレットが受信したすべてのリクエストを処理するとき、リクエスト処理フェーズに入ります。JRun は、GenericServlet をオーバーライドする場合は、service メソッドにリクエストを転送し、HttpServlet クラスをオーバーライドする場合は doXxx メソッドにリクエストを転送します。

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