インターフェース 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
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 voiddestroy()サーブレットコンテナーによって呼び出され、サーブレットがサービスを停止していることをサーブレットに示します。ServletConfiggetServletConfig()この Servlet の初期化および起動パラメーターを含むServletConfigオブジェクトを返します。StringSEgetServletInfo()作成者、バージョン、著作権など、サーブレットに関する情報を返します。voidinit(ServletConfig config)サーブレットがサービスに配置されていることをサーブレットに示すために、サーブレットコンテナーによって呼び出されます。voidservice(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メソッドを再度呼び出すことはありません。このメソッドにより、サーブレットは保持されているリソース(メモリ、ファイルハンドル、スレッドなど)をクリーンアップし、永続状態がメモリ内のサーブレットの現在の状態と同期するようにします。