javax.servlet
インタフェース Servlet

既知のサブインタフェースの一覧:
HttpJspPage, JspPage
既知の実装クラスの一覧:
GenericServlet

public interface Servlet

全ての Servlet が実装しなければならないメソッドを定義しています。

Servlet とは小さなJava のプログラムでWeb サーバの中で動作します。 Servlet は Web クライアントからリクエストを受け取り、レスポンスを返します。 通常、HTTP、つまりHyperText Transfer Protocol を介して通信が行われます。

このインタフェースを実装するには javax.servlet.GenericServlet を継承して一般的な通信を行う Servlet を記述するかjavax.servlet.http.HttpServlet を継承して HTTP による通信を行う Servlet を記述できるようになっています。

このインタフェースは Servlet を初期化するメソッドやリクエストに対してサービスを提供するメソッド、 サーバから Servlet を削除するメソッドを定義しています。 これらはライフサイクルメソッドとしても知られており、次の順番で実行されます。

  1. Servletのインスタンスが構築されるとinitメソッドにより 初期化されます。
  2. クライアントから呼出されると常にservice メソッドが 実行されます。
  3. Servlet がサービスを停止した場合にはdestroy メソッドが 実行され、削除されますが、その後、ガーベジコレクションされファイナライズ されます。

ライフサイクルメソッドに加えて、このインタフェースは getServletConfig メソッドも提供しています。このメソッドは Servlet の実行開始時の情報を取得するのに使われます。また、 getServletInfo メソッドも提供されていますが、 これは作者やバージョン、著作権といったServlet 自身の基本的なな情報を Servlet が返せるようにしたものです。

バージョン:
$Version$
作成者:
Various
関連項目:
GenericServlet, HttpServlet

メソッドの概要
 void destroy()
          Servletコンテナが実行するメソッドで、この Servlet がサービス提供を 停止するときに実行されます。
 ServletConfig getServletConfig()
          ServletConfig オブジェクトを返します。
 String getServletInfo()
          作者、バージョン、著作権といったServletに関する情報を返します。
 void init(ServletConfig config)
          Servlet コンテナが実行しますが、 実行されると Servlet がサービスを提供できるようになったことを意味しています。
 void service(ServletRequest req, ServletResponse res)
          Servletコンテナが実行するメソッドです。
 

メソッドの詳細

init

public void init(ServletConfig config)
          throws ServletException
Servlet コンテナが実行しますが、 実行されると Servlet がサービスを提供できるようになったことを意味しています。

Servletコンテナは Servlet がインスタンス化された後、 1回だけinit メソッドを実行します。 Servlet がリクエストを受け付けられるようになる前にinit メソッドの実行が完了していなければなりません。

Servletコンテナは init の実行結果が次のようになった場合、 Servlet がサービスを提供できる状態にはできません。

  1. ServletException をスローした
  2. Web サーバが指定した時間内に実行が終了しなかった

パラメータ:
config - Servlet の設定や初期化パラメータが含まれているServletConfig オブジェクト
例外:
ServletException - Servlet の正常な処理が妨げられた場合に発生する例外
関連項目:
UnavailableException, getServletConfig()

getServletConfig

public ServletConfig getServletConfig()
ServletConfig オブジェクトを返します。 このServlet の初期値や起動時のパラメータが含まれています。 得られたServletConfiginit メソッドに渡される唯一のオブジェクトです。

このインタフェースの実装はServletConfig オブジェクトを維持する責任を負っています。 そしてこのメソッドが実行されたときにオブジェクトを返すようにします。 GenericServletクラスはこのインタフェースを実装していますが、 すでにそのような実装になっています。

戻り値:
このServletを初期化するServletConfig オブジェクト
関連項目:
init(javax.servlet.ServletConfig)

service

public void service(ServletRequest req,
                    ServletResponse res)
             throws ServletException,
                    IOException
Servletコンテナが実行するメソッドです。このメソッドにより Servlet がリクエストに対するレスポンスを返します。

このメソッドは Servlet の init() メソッドの実行が正常に完了した後にしか実行されません。

レスポンスの状態コードは Servlet がエラーをスローする、 あるいは送信するために常に設定するべきです。

通常 Servlet はServletコンテナのなかでマスチスレッド化された状態で実行され、 並行的に複数のリクエストを処理できるようになっています。 開発者はファイルやネットワークコネクションなどの共有リソースをアクセスする際に排他制御に注意しなければなりません。 Servlet のクラスやインスタンス変数へのアクセスについても同様です。 Javaプログラム上におけるマルチスレッド処理についてのさらなる情報源として、 Javaチュートリアルのマルチスレッドプログラミングの章を参考にしてください。

パラメータ:
req - クライアントのリクエストを表すServletRequest オブジェクト
res - Servlet からのレスポンスを表すServletResponse オブジェクト
例外:
ServletException - Servlet の正常な処理が妨げられたときに発生する例外
IOException - 入出力関連処理で発生する例外

getServletInfo

public String getServletInfo()
作者、バージョン、著作権といったServletに関する情報を返します。

このメソッドが返す文字列はプレーンテキストにするべきです。 (HTML, XML などのような)マークアップの類を使うべきではありません。

戻り値:
Servlet の情報を含む String

destroy

public void destroy()
Servletコンテナが実行するメソッドで、この Servlet がサービス提供を 停止するときに実行されます。このメソッドは Servlet の service メソッドを実行しているスレッドが全て終了する か、あるいは、タイムアウト時間が過ぎると一度実行されます。 Servletコンテナがこのメソッドを実行すると、その Servlet の service メソッドが再び実行されることはありません。

このメソッドは Servlet に使用したままの状態になっているリソース (例えば、メモリ、ファイルハンドラ、スレッド)を開放する機会を与えています。 また、あらゆる永続性の状態が、メモリ上にある Servlet の現在における状態と同期しているように注意してください。



このドキュメントは、Ja-Jakarta Project により翻訳されました。コメントがある場合は、jajakarta-report@jajakarta.good-day.netまでお願いします。

Copyright © 1999-2002 The Apache Software Foundation. All Rights Reserved.