Mergedoc
Translation

javax.servlet
インタフェース Servlet

既知の実装クラスの一覧:
GenericServlet, HttpServlet

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 が返せるようにしたものです。

作成者:
Various
関連項目:
GenericServlet, HttpServlet

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

メソッドの詳細

init

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

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

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

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

service

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

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

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

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

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

getServletInfo

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

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

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

destroy

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

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


Mergedoc
Translation

Copyright © 2000- The Apache Software Foundation. All rights Reserved.