|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
全ての Servlet が実装しなければならないメソッドを定義しています。
Servlet とは小さなJava のプログラムでWeb サーバの中で動作します。 Servlet は Web クライアントからリクエストを受け取り、レスポンスを返します。 通常、HTTP、つまりHyperText Transfer Protocol を介して通信が行われます。
このインタフェースを実装するには
javax.servlet.GenericServlet
を継承して一般的な通信を行う
Servlet を記述するかjavax.servlet.http.HttpServlet
を継承して HTTP による通信を行う Servlet を記述できるようになっています。
このインタフェースは Servlet を初期化するメソッドやリクエストに対してサービスを提供するメソッド、 サーバから Servlet を削除するメソッドを定義しています。 これらはライフサイクルメソッドとしても知られており、次の順番で実行されます。
init
メソッドにより
初期化されます。
service
メソッドが
実行されます。
destroy
メソッドが
実行され、削除されますが、その後、ガーベジコレクションされファイナライズ
されます。
ライフサイクルメソッドに加えて、このインタフェースは
getServletConfig
メソッドも提供しています。このメソッドは
Servlet の実行開始時の情報を取得するのに使われます。また、
getServletInfo
メソッドも提供されていますが、
これは作者やバージョン、著作権といったServlet 自身の基本的なな情報を
Servlet が返せるようにしたものです。
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コンテナが実行するメソッドです。 |
メソッドの詳細 |
public void init(ServletConfig config) throws ServletException
Servletコンテナは Servlet がインスタンス化された後、
1回だけinit
メソッドを実行します。
Servlet がリクエストを受け付けられるようになる前にinit
メソッドの実行が完了していなければなりません。
Servletコンテナは init
の実行結果が次のようになった場合、
Servlet がサービスを提供できる状態にはできません。
ServletException
をスローした
config
- Servlet の設定や初期化パラメータが含まれているServletConfig
オブジェクト
ServletException
- Servlet の正常な処理が妨げられた場合に発生する例外UnavailableException
,
getServletConfig()
public ServletConfig getServletConfig()
ServletConfig
オブジェクトを返します。
このServlet の初期値や起動時のパラメータが含まれています。
得られたServletConfig
は init
メソッドに渡される唯一のオブジェクトです。
このインタフェースの実装はServletConfig
オブジェクトを維持する責任を負っています。
そしてこのメソッドが実行されたときにオブジェクトを返すようにします。
GenericServlet
クラスはこのインタフェースを実装していますが、
すでにそのような実装になっています。
ServletConfig
オブジェクトinit(javax.servlet.ServletConfig)
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException
このメソッドは Servlet の init()
メソッドの実行が正常に完了した後にしか実行されません。
レスポンスの状態コードは Servlet がエラーをスローする、 あるいは送信するために常に設定するべきです。
通常 Servlet はServletコンテナのなかでマスチスレッド化された状態で実行され、 並行的に複数のリクエストを処理できるようになっています。 開発者はファイルやネットワークコネクションなどの共有リソースをアクセスする際に排他制御に注意しなければなりません。 Servlet のクラスやインスタンス変数へのアクセスについても同様です。 Javaプログラム上におけるマルチスレッド処理についてのさらなる情報源として、 Javaチュートリアルのマルチスレッドプログラミングの章を参考にしてください。
req
- クライアントのリクエストを表すServletRequest
オブジェクトres
- Servlet からのレスポンスを表すServletResponse
オブジェクト
ServletException
- Servlet の正常な処理が妨げられたときに発生する例外
IOException
- 入出力関連処理で発生する例外public String getServletInfo()
このメソッドが返す文字列はプレーンテキストにするべきです。 (HTML, XML などのような)マークアップの類を使うべきではありません。
String
public void destroy()
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.