|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
レスポンスの送信に関してHTTP独自の機能性を与えるために
ServletResponse
インタフェースを拡張します。
例えば、HTTPヘッダやCookieにアクセスするためのメソッドを持ちます。
ServletコンテナはHttpServletRequest
オブジェクト(訳注: HttpServletResponse の誤りでしょう)を生成し、
それを引数としてServletのサービスメソッド
(doGet
やdoPost
等)に渡します。
ServletResponse
フィールドの概要 | |
static int |
SC_ACCEPTED
リクエストが受け付けられたが処理が完了しなかったことを示すステータスコード(202)です。 |
static int |
SC_BAD_GATEWAY
HTTPサーバがプロキシもしくはゲートウェイとして動作している時に、 問い合わせたサーバから不正なレスポンスを受け取ったことを示すステータスコード(502)です。 |
static int |
SC_BAD_REQUEST
クライアントから送られたリクエストが文法的に間違っていることを示すステータスコード(400)です。 |
static int |
SC_CONFLICT
リソースの現在の状態が矛盾しているためにリクエストを完了することができなかったことを示すステータスコード(409)です。 |
static int |
SC_CONTINUE
クライアントが続けることができることを示すステータスコード(100)です。 |
static int |
SC_CREATED
リクエストが成功してサーバ上に新しいリソースを生成したことを示すステータスコード(201)です。 |
static int |
SC_EXPECTATION_FAILED
サーバがExpectリクエストヘッダで与えられている期待に添えないことを示すステータスコード(417)です。 |
static int |
SC_FORBIDDEN
サーバがリクエストを理解したがリクエストを完了することを拒絶したことを示すステータスコード(403)です。 |
static int |
SC_GATEWAY_TIMEOUT
サーバがゲートウェイもしくはプロキシとして動作している時に、 上位のサーバから時間内にレスポンスを受け取らなかったことを示すステータスコード(504)です。 |
static int |
SC_GONE
リソースがサーバ上でもはや利用可能でなく、 かつ転送先のアドレスも分からないことを示すステータスコード(410)です。 |
static int |
SC_HTTP_VERSION_NOT_SUPPORTED
リクエストメッセージに用いられているHTTPプロトコルのバージョンをサーバがサポートしていないかサポートを拒絶していることを示すステータスコード(505)です。 |
static int |
SC_INTERNAL_SERVER_ERROR
リクエストの完了を妨げるようなHTTPサーバの内部エラーを示すステータスコード(500)です。 |
static int |
SC_LENGTH_REQUIRED
Content-Length が定義されないとリクエストを扱うことができないことを示すステータスコード(411)です。 |
static int |
SC_METHOD_NOT_ALLOWED
Request-Line で指定されたメソッドが
Request-URI で識別されるリソースに対して許可されていないことを示すステータスコード(405)です。 |
static int |
SC_MOVED_PERMANENTLY
リソースが新しい場所に永続的に移動したこと、 また将来の参照の際にはリクエストに新しいURIを用いるべきであることを示すステータスコード(301)です。 |
static int |
SC_MOVED_TEMPORARILY
リソースが一時的に他の場所に移動したこと、 また将来の参照の際にはこのリソースにアクセスする元々のURIを依然として用いるべきであることを示すステータスコード(302)です。 |
static int |
SC_MULTIPLE_CHOICES
リクエストされたリソースが、 指定された場所に対応している表現の集合のうちのどれにでも対応することを示すステータスコード(300)です。 |
static int |
SC_NO_CONTENT
リクエストは成功したが返すべき新しい情報はないことを示すステータスコード(204)です。 |
static int |
SC_NON_AUTHORITATIVE_INFORMATION
クライアントから与えられたメタ情報がこのサーバ起源のものではなかったことを示すステータスコード(203)です。 |
static int |
SC_NOT_ACCEPTABLE
リクエストが指定するリソースが、 リクエストに指定されているAcceptヘッダの条件を満たすコンテンツを含むようなレスポンスを生成できないことを示すステータスコード(406)です。 |
static int |
SC_NOT_FOUND
リクエストされたリソースが利用可能でないことを示すステータスコード(404)です。 |
static int |
SC_NOT_IMPLEMENTED
リクエストの完了に必要な機能性をHTTPサーバが持っていないことを示すステータスコード(501)です。 |
static int |
SC_NOT_MODIFIED
リソースが利用可能で変更されていないことを条件付きGETが発見したことを示すステータスコード(304)です。 |
static int |
SC_OK
リクエストが正常に成功したことを示すステータスコード(200)です。 |
static int |
SC_PARTIAL_CONTENT
サーバがリソースの部分的なGETリクエストを完了したことを示すステータスコード(206)です。 |
static int |
SC_PAYMENT_REQUIRED
将来利用するために予約されているステータスコード(402)です。 |
static int |
SC_PRECONDITION_FAILED
1つ以上のリクエストヘッダフィールドで与えられた前提条件がサーバでテストされた時に偽と評価されたことを示すステータスコード(412)です。 |
static int |
SC_PROXY_AUTHENTICATION_REQUIRED
クライアントがまずプロキシに対して自分自身を認証しなければいけないことを示すステータスコード(407)です。 |
static int |
SC_REQUEST_ENTITY_TOO_LARGE
リクエストのエンティティの大きさがサーバが処理できる大きさを越えているために、 サーバがリクエストを処理することを拒絶していることを示すステータスコード(413)です。 |
static int |
SC_REQUEST_TIMEOUT
サーバを待たせる準備をするまでにクライアントがリクエストを生成しなかったことを示すステータスコード(408)です。 |
static int |
SC_REQUEST_URI_TOO_LONG
Request-URI の長さがサーバが処理できる長さを越えているために、
サーバがリクエストを処理することを拒絶していることを示すステータスコード(414)です。 |
static int |
SC_REQUESTED_RANGE_NOT_SATISFIABLE
リクエストされたバイト範囲をサーバが扱うことができないことを示すステータスコード(416)です。 |
static int |
SC_RESET_CONTENT
送信されたリクエストを発生させたドキュメントの表示をクライアントがリセットすべきであることを示すステータスコード(205)です。 |
static int |
SC_SEE_OTHER
リクエストに対するレスポンスを異なるURIから発見することができることを示すステータスコード(303)です。 |
static int |
SC_SERVICE_UNAVAILABLE
HTTPサーバが一時的に過負荷状態で、 リクエストを処理できないことを示すステータスコード(503)です。 |
static int |
SC_SWITCHING_PROTOCOLS
サーバがUpgradeヘッダに従ってプロトコルを切り替えようとしていることを示すステータスコード(101)です。 |
static int |
SC_TEMPORARY_REDIRECT
リクエストされたリソースが一時的に異なるURIに存在することを示すステータスコード(307)です。 |
static int |
SC_UNAUTHORIZED
リクエストがHTTP認証を要求することを示すステータスコード(401)です。 |
static int |
SC_UNSUPPORTED_MEDIA_TYPE
リクエストのエンティティは、 リクエストされたメソッドに対してリクエストされたリソースがサポートしていない形式であるために、 サーバがリクエストを処理することを拒絶していることを示すステータスコード(415)です。 |
static int |
SC_USE_PROXY
リクエストされたリソースへは Location
フィールドで指定されたプロキシを通してアクセスしなくてはいけないことを示すステータスコード(305)です。 |
メソッドの概要 | |
void |
addCookie(Cookie cookie)
指定されたCookieをレスポンスに追加します。 |
void |
addDateHeader(String name,
long date)
指定された名称で指定された日付の値を持つレスポンスヘッダを追加します。 |
void |
addHeader(String name,
String value)
指定された名称で指定された値を持つレスポンスヘッダを追加します。 |
void |
addIntHeader(String name,
int value)
指定された名称で指定された整数値を持つレスポンスヘッダを追加します。 |
boolean |
containsHeader(String name)
指定された名前を持つヘッダが既にセットされているかどうかを表す booleanを返します。 |
String |
encodeRedirectUrl(String url)
推奨されていません。 バージョン2.1以降では、代わりにencodeRedirectURL(String url) を使うようにして下さい。 |
String |
encodeRedirectURL(String url)
sendRedirect メソッドの中で使えるように、
指定されたURLをエンコードします。
|
String |
encodeUrl(String url)
推奨されていません。 バージョン2.1以降では、代わりにencodeURL(String url) を使うようにして下さい。 |
String |
encodeURL(String url)
指定されたURLがセッションIDを含むようにエンコードします。 |
void |
sendError(int sc)
バッファをクリアし、 指定されたステータスを使ってクライアントにエラーレスポンスを送ります。 |
void |
sendError(int sc,
String msg)
バッファをクリアし、 指定されたステータスを使ってクライアントにエラーレスポンスを送ります。 |
void |
sendRedirect(String location)
指定されたリダイレクト先のURLを用いて、 クライアントに一時的なリダイレクトレスポンスを送信します。 |
void |
setDateHeader(String name,
long date)
指定された名称で指定された日付の値を持つレスポンスヘッダを設定します。 |
void |
setHeader(String name,
String value)
指定された名称で指定された値を持つレスポンスヘッダを設定します。 |
void |
setIntHeader(String name,
int value)
指定された名称で指定された整数値を持つレスポンスヘッダを設定します。 |
void |
setStatus(int sc)
このレスポンスのステータスコードを設定します。 |
void |
setStatus(int sc,
String sm)
推奨されていません。 バージョン2.1以降、 メッセージ引数の意味があいまいであるためにこのメソッドは推奨されません。 ステータスコードを設定するには sendError を使うようにして下さい。
説明文つきのエラーを送信するには
sendError を使うようにして下さい。
このレスポンスにステータスコードとメッセージを設定します。 |
インタフェース javax.servlet.ServletResponse から継承したメソッド |
flushBuffer, getBufferSize, getCharacterEncoding, getLocale, getOutputStream, getWriter, isCommitted, reset, resetBuffer, setBufferSize, setContentLength, setContentType, setLocale |
フィールドの詳細 |
public static final int SC_CONTINUE
public static final int SC_SWITCHING_PROTOCOLS
public static final int SC_OK
public static final int SC_CREATED
public static final int SC_ACCEPTED
public static final int SC_NON_AUTHORITATIVE_INFORMATION
public static final int SC_NO_CONTENT
public static final int SC_RESET_CONTENT
public static final int SC_PARTIAL_CONTENT
public static final int SC_MULTIPLE_CHOICES
public static final int SC_MOVED_PERMANENTLY
public static final int SC_MOVED_TEMPORARILY
public static final int SC_SEE_OTHER
public static final int SC_NOT_MODIFIED
public static final int SC_USE_PROXY
Location
フィールドで指定されたプロキシを通してアクセスしなくてはいけないことを示すステータスコード(305)です。
public static final int SC_TEMPORARY_REDIRECT
Location
フィールドで与えるべきです。
public static final int SC_BAD_REQUEST
public static final int SC_UNAUTHORIZED
public static final int SC_PAYMENT_REQUIRED
public static final int SC_FORBIDDEN
public static final int SC_NOT_FOUND
public static final int SC_METHOD_NOT_ALLOWED
Request-Line
で指定されたメソッドが
Request-URI
で識別されるリソースに対して許可されていないことを示すステータスコード(405)です。
public static final int SC_NOT_ACCEPTABLE
public static final int SC_PROXY_AUTHENTICATION_REQUIRED
public static final int SC_REQUEST_TIMEOUT
public static final int SC_CONFLICT
public static final int SC_GONE
public static final int SC_LENGTH_REQUIRED
Content-Length
が定義されないとリクエストを扱うことができないことを示すステータスコード(411)です。
public static final int SC_PRECONDITION_FAILED
public static final int SC_REQUEST_ENTITY_TOO_LARGE
public static final int SC_REQUEST_URI_TOO_LONG
Request-URI
の長さがサーバが処理できる長さを越えているために、
サーバがリクエストを処理することを拒絶していることを示すステータスコード(414)です。
public static final int SC_UNSUPPORTED_MEDIA_TYPE
public static final int SC_REQUESTED_RANGE_NOT_SATISFIABLE
public static final int SC_EXPECTATION_FAILED
public static final int SC_INTERNAL_SERVER_ERROR
public static final int SC_NOT_IMPLEMENTED
public static final int SC_BAD_GATEWAY
public static final int SC_SERVICE_UNAVAILABLE
public static final int SC_GATEWAY_TIMEOUT
public static final int SC_HTTP_VERSION_NOT_SUPPORTED
メソッドの詳細 |
public void addCookie(Cookie cookie)
cookie
- クライアントに返すCookiepublic boolean containsHeader(String name)
name
- ヘッダ名
true
、そうでなければfalse
public String encodeURL(String url)
セッショントラッキングを確実に行なわせるために、 Servletが発行する全てのURLはこのメソッドを通してエンコードすべきです。 そうでなければ、Cookieをサポートしないブラウザでは URLリライティングの処理を行なうことができません。
url
- エンコードするURL
public String encodeRedirectURL(String url)
sendRedirect
メソッドの中で使えるように、
指定されたURLをエンコードします。
エンコードが不要である場合は指定されたURLをそのまま返します。
このメソッドの実装はセッションIDを
URLにエンコードするかどうかを決定するためのロジックを含みます。
このメソッドがencodeURL
メソッドとは別になっているのは、
この決定をするための規則が通常のリンクをエンコードするかどうかを決定する規則と異なることがあるからです。
HttpServletResponse.sendRedirect
メソッドに送られる全てのURLはこのメソッドを通すべきです。
そうでなければ、Cookieをサポートしないブラウザでは
URLリライティングの処理を行なうことができません。
url
- エンコードするURL
sendRedirect(java.lang.String)
,
encodeUrl(java.lang.String)
public String encodeUrl(String url)
url
- エンコードするURL
public String encodeRedirectUrl(String url)
url
- エンコードするURL
public void sendError(int sc, String msg) throws IOException
レスポンスが既にコミットされている場合、 このメソッドはIllegalStateExceptionをスローします。 このメソッドを使った後は、レスポンスはコミットされたと考えるべきで、 レスポンスに書き込みを行なうべきではありません。
sc
- エラーステータスコードmsg
- 説明文
IOException
- 入出力例外が発生した場合
IllegalStateException
- レスポンスが既にコミットされている場合public void sendError(int sc) throws IOException
レスポンスが既にコミットされている場合、 このメソッドはIllegalStateExceptionをスローします。 このメソッドを使った後は、レスポンスはコミットされたと考えるべきで、 レスポンスに書き込みを行なうべきではありません。
sc
- エラーステータスコード
IOException
- 入出力例外が発生した場合
IllegalStateException
- このメソッドが呼ばれる前にレスポンスが既にコミットされている場合public void sendRedirect(String location) throws IOException
レスポンスが既にコミットされている場合、 このメソッドはIllegalStateExceptionをスローします。 このメソッドを使った後は、レスポンスはコミットされたと考えるべきで、 レスポンスに書き込みを行なうべきではありません。
location
- リダイレクト先のURL
IOException
- 入出力例外が発生した場合
IllegalStateException
- レスポンスが既にコミットされている場合public void setDateHeader(String name, long date)
containsHeader
メソッドを用いることができます。
name
- 設定するヘッダの名称containsHeader(java.lang.String)
,
addDateHeader(java.lang.String, long)
public void addDateHeader(String name, long date)
name
- 設定するヘッダの名称setDateHeader(java.lang.String, long)
public void setHeader(String name, String value)
containsHeader
メソッドを用いることができます。
name
- ヘッダの名称value
- ヘッダの値containsHeader(java.lang.String)
,
addHeader(java.lang.String, java.lang.String)
public void addHeader(String name, String value)
name
- ヘッダの名称value
- 追加するヘッダの値setHeader(java.lang.String, java.lang.String)
public void setIntHeader(String name, int value)
containsHeader
メソッドを用いることができます。
name
- ヘッダの名称value
- 割り当てられる整数値containsHeader(java.lang.String)
,
addIntHeader(java.lang.String, int)
public void addIntHeader(String name, int value)
name
- ヘッダの名称value
- 割り当てられる整数値setIntHeader(java.lang.String, int)
public void setStatus(int sc)
sendError
メソッドを用いて下さい。
コンテナはバッファをクリアし、 Cookieと他のヘッダを保存しつつロケーションヘッダを設定します。
sc
- ステータスコードsendError(int, java.lang.String)
public void setStatus(int sc, String sm)
sendError
を使うようにして下さい。
説明文つきのエラーを送信するには
sendError
を使うようにして下さい。
このレスポンスにステータスコードとメッセージを設定します。
sc
- ステータスコードsm
- ステータスメッセージ
|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
このドキュメントは、Ja-Jakarta Project により翻訳されました。コメントがある場合は、jajakarta-report@jajakarta.good-day.netまでお願いします。
Copyright © 1999-2002 The Apache Software Foundation. All Rights Reserved.