インターフェース Servlet
- すべての既知のサブインターフェース:
HttpJspPage
,JspPage
- すべての既知の実装クラス:
FacesServlet
、GenericServlet
、HttpServlet
public interface Servlet
すべてのサーブレットが実装する必要があるメソッドを定義します。サーブレットは、Web サーバー内で実行される小さな Java プログラムです。サーブレットは、通常は HTTP(HyperText Transfer Protocol)を介して、Web クライアントからのリクエストを受信して応答します。
このインターフェースを実装するには、
jakarta.servlet.GenericServlet
を継承する汎用サーブレットまたはjakarta.servlet.http.HttpServlet
を継承する HTTP サーブレットを作成できます。このインターフェースは、サーブレットを初期化し、リクエストを処理し、サーバーからサーブレットを削除するメソッドを定義します。これらはライフサイクルメソッドと呼ばれ、次の順序で呼び出されます。
- サーブレットが作成され、
init
メソッドで初期化されます。 - クライアントから
service
メソッドへの呼び出しはすべて処理されます。 - サーブレットはサービスを停止し、
destroy
メソッドで破棄され、ガベージコレクションとファイナライズが行われます。
ライフサイクルメソッドに加えて、このインターフェースは、サーブレットが起動情報を取得するために使用できる
getServletConfig
メソッドと、作者、バージョン、著作権などのサーブレット自身に関する基本的な情報を返すためのgetServletInfo
メソッドを提供します。- 作成者:
- Various
- 関連事項:
GenericServlet
,HttpServlet
方法の概要
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 void
destroy()
サーブレットコンテナーによって呼び出され、サーブレットがサービスを停止していることをサーブレットに示します。ServletConfig
getServletConfig()
この Servlet の初期化および起動パラメーターを含むServletConfig
オブジェクトを返します。StringSE
getServletInfo()
作成者、バージョン、著作権など、サーブレットに関する情報を返します。void
init(ServletConfig config)
サーブレットがサービスに配置されていることをサーブレットに示すために、サーブレットコンテナーによって呼び出されます。void
service(ServletRequest req, ServletResponse res)
サーブレットがリクエストに応答できるようにするために、サーブレットコンテナーによって呼び出されます。
メソッドの詳細
init
void init(ServletConfig config) throws ServletException
サーブレットがサービスに配置されていることをサーブレットに示すために、サーブレットコンテナーによって呼び出されます。サーブレットコンテナーは、サーブレットをインスタンス化した後、
init
メソッドを 1 回だけ呼び出します。サーブレットがリクエストを受け取る前に、init
メソッドが正常に完了する必要があります。コンテナーは、init
メソッドで実行されたアクションが、JSR-133 のルールに従って後でservice
メソッドを呼び出すすべてのスレッドに確実に表示されるようにします (つまり、init
とservice
の間には「前に発生する」関連があります)。init
メソッドの場合、サーブレットコンテナーはサーブレットをサービスに配置できません。ServletException
をスローします- Web サーバーによって定義された期間内に戻らない
- パラメーター:
config
- サーブレットの構成および初期化パラメーターを含むServletConfig
オブジェクト- 例外:
ServletException
- サーブレットの通常の動作を妨げる例外が発生した場合- 関連事項:
UnavailableException
,getServletConfig()
getServletConfig
ServletConfig getServletConfig()
この Servlet の初期化および起動パラメーターを含むServletConfig
オブジェクトを返します。返されるServletConfig
オブジェクトは、init
メソッドに渡されたオブジェクトです。このインターフェースの実装は、
ServletConfig
オブジェクトを格納して、このメソッドがオブジェクトを返すことができるようにします。このインターフェースを実装するGenericServlet
クラスは、すでにこれを実行しています。- 戻り値:
- このサーブレットを初期化する
ServletConfig
オブジェクト - 関連事項:
init(jakarta.servlet.ServletConfig)
service
void service(ServletRequest req, ServletResponse res) throws ServletException, IOExceptionSE
サーブレットがリクエストに応答できるようにするために、サーブレットコンテナーによって呼び出されます。このメソッドは、サーブレットの
init()
メソッドが正常に完了した後にのみ呼び出されます。レスポンスのステータスコードは、エラーをスローまたは送信するサーブレットに対して常に設定する必要があります。
サーブレットは通常、複数のリクエストを同時に処理できるマルチスレッドサーブレットコンテナー内で実行されます。開発者は、ファイル、ネットワーク接続、サーブレットのクラス変数とインスタンス変数などの共有リソースへのアクセスを同期することに注意する必要があります。
- パラメーター:
req
- クライアントのリクエストを含むServletRequest
オブジェクトres
- サーブレットのレスポンスを含むServletResponse
オブジェクト- 例外:
ServletException
- サーブレットの通常の操作を妨げる例外が発生した場合IOExceptionSE
- 入力または出力の例外が発生した場合
getServletInfo
StringSE getServletInfo()
作成者、バージョン、著作権など、サーブレットに関する情報を返します。このメソッドが返す文字列はプレーンテキストであり、あらゆる種類のマークアップ(HTML、XML など)ではありません。
- 戻り値:
- サーブレット情報を含む
String
destroy
void destroy()
サーブレットコンテナーによって呼び出され、サーブレットがサービスを停止していることをサーブレットに示します。このメソッドは、サーブレットのservice
メソッド内のすべてのスレッドが終了するか、タイムアウト期間が経過した後にのみ呼び出されます。サーブレットコンテナーがこのメソッドを呼び出した後、このサーブレットでservice
メソッドを再度呼び出すことはありません。このメソッドにより、サーブレットは保持されているリソース(メモリ、ファイルハンドル、スレッドなど)をクリーンアップし、永続状態がメモリ内のサーブレットの現在の状態と同期するようにします。