インターフェース HttpServletResponse
- すべてのスーパーインターフェース:
ServletResponse
- すべての既知の実装クラス:
HttpServletResponseWrapper
ServletResponse
インターフェースを拡張して、レスポンスを送信する際に HTTP 固有の機能を提供します。例: HTTP ヘッダーと Cookie にアクセスするメソッドがあります。 サーブレットコンテナーは HttpServletResponse
オブジェクトを作成し、それを引数としてサーブレットのサービスメソッド(doGet
、doPost
など)に渡します。
- 作成者:
- Various
- 関連事項:
フィールドのサマリー
フィールド修飾子と型フィールド説明static final int
リクエストが処理のために受け入れられたが、完了しなかったことを示すステータスコード (202)。static final int
HTTP サーバーがプロキシまたはゲートウェイとして動作しているときに問い合わせたサーバーから無効なレスポンスを受信したことを示すステータスコード (502)。static final int
クライアントから送信されたリクエストが構文的に正しくないことを示すステータスコード (400)。static final int
リソースの現在の状態と競合するため、リクエストを完了できなかったことを示すステータスコード (409)。static final int
クライアントが続行できることを示すステータスコード (100)。static final int
リクエストが成功し、サーバー上に新しいリソースを作成したことを示すステータスコード (201)。static final int
サーバーが Expect リクエストヘッダーで指定された期待に応えられなかったことを示すステータスコード (417)。static final int
サーバーがリクエストを理解したが、それを実行することを拒否したことを示すステータスコード (403)。static final int
リソースが一時的に別の URI にあることを示すステータスコード (302)。static final int
ゲートウェイまたはプロキシとして機能している間に、サーバーがアップストリームサーバーからタイムリーなレスポンスを受信しなかったことを示すステータスコード (504)。static final int
リソースがサーバーで使用できなくなり、転送アドレスが不明であることを示すステータスコード (410)。static final int
サーバーがリクエストメッセージで使用された HTTP プロトコルバージョンをサポートしていないか、サポートを拒否していることを示すステータスコード (505)。static final int
HTTP サーバー内部のエラーを示すステータスコード (500)。リクエストの実行を妨げました。static final int
定義されたContent-Length
なしではリクエストを処理できないことを示すステータスコード (411)。static final int
Request-Line
で指定されたメソッドがRequest-URI
で識別されるリソースに対して許可されていないことを示すステータスコード (405)。static final int
サーバーがターゲット URI に対する正式なレスポンスを生成する意思がない、または生成できないことを示すステータスコード (421)。static final int
リソースが永続的に新しい場所に移動し、今後の参照ではリクエストで新しい URI を使用する必要があることを示すステータスコード (301)。static final int
リソースが一時的に別の場所に移動したが、今後の参照ではリソースにアクセスするために元の URI を使用する必要があることを示すステータスコード (302)。static final int
リクエストされたリソースが、それぞれ固有の場所を持つ表現のセットのいずれかに対応することを示すステータスコード (300)。static final int
リクエストは成功したが、返す新しい情報がないことを示すステータスコード (204)。static final int
クライアントから提示されたメタ情報がサーバーからのものではないことを示すステータスコード (203)。static final int
リクエストで識別されたリソースが、リクエストで送信された受け入れヘッダーに従って受け入れられないコンテンツ特性を持つレスポンスエンティティを生成できるだけであることを示すステータスコード (406)。static final int
リクエストされたリソースが利用できないことを示すステータスコード (404)。static final int
HTTP サーバーがリクエストを満たすために必要な機能をサポートしていないことを示すステータスコード (501)。static final int
条件付き GET 操作で、リソースが利用可能であり、変更されていないことが検出されたことを示すステータスコード (304)。static final int
リクエストが正常に成功したことを示すステータスコード (200)。static final int
サーバーがリソースに対する部分的な GET リクエストを実行したことを示すステータスコード (206)。static final int
ステータスコード (402) は将来の使用のために予約されています。static final int
リクエストされたリソースが別の URI に永続的に存在することを示すステータスコード (308)。static final int
1 つ以上のリクエストヘッダーフィールドで指定された前提条件がサーバーでテストされたときに false と評価されたことを示すステータスコード (412)。static final int
クライアントが最初にプロキシで自身を認証する必要があることを示すステータスコード (407)。static final int
リクエストエンティティがサーバーが処理できる、または処理できるよりも大きいため、サーバーがリクエストの処理を拒否していることを示すステータスコード (413)。static final int
サーバーが待機する準備ができている時間内にクライアントがリクエストを生成しなかったことを示すステータスコード (408)。static final int
Request-URI
がサーバーが解釈するよりも長いため、サーバーがリクエストの処理を拒否していることを示すステータスコード (414)。static final int
サーバーがリクエストされたバイト範囲を提供できないことを示すステータスコード (416)。static final int
エージェントは、リクエストが送信される原因となったドキュメントビューをリセットする必要があることを示すステータスコード (205)。static final int
リクエストへのレスポンスが別の URI で見つかることを示すステータスコード (303)。static final int
HTTP サーバーが一時的にオーバーロードになっており、リクエストを処理できないことを示すステータスコード (503)。static final int
サーバーが Upgrade ヘッダーに従ってプロトコルを切り替えていることを示すステータスコード (101)。static final int
リクエストされたリソースが一時的に別の URI にあることを示すステータスコード (307)。static final int
リクエストに HTTP 認証が必要であることを示すステータスコード (401)。static final int
サーバーがリクエストのコンテンツ型を理解しているが、含まれている命令を処理できないことを示すステータスコード (422)。static final int
リクエストのエンティティが、リクエストされたメソッドのリクエストされたリソースでサポートされていない形式であるため、サーバーがリクエストのサービスを拒否していることを示すステータスコード (415)。static final int
サーバーが現在のプロトコルを使用したリクエストの実行を拒否したが、クライアントが別のプロトコルにアップグレードした後はリクエストを実行する可能性があることを示すステータスコード (426)。static final int
Location
フィールドで指定されたプロキシを介して、リクエストされたリソースにアクセスする必要があることを示すステータスコード (305)。メソッドのサマリー
修飾子と型メソッド説明void
指定した Cookie をレスポンスに追加します。void
addDateHeader
(StringSE name, long date) 指定された名前と日付値を持つレスポンスヘッダーを追加します。void
指定された名前と値でレスポンスヘッダーを追加します。void
addIntHeader
(StringSE name, int value) 指定された名前と整数値を持つレスポンスヘッダーを追加します。boolean
containsHeader
(StringSE name) 名前付きレスポンスヘッダーがすでに設定されているかどうかを示すブール値を返します。指定された URL をsendRedirect
メソッドで使用するためにエンコードします。エンコードが不要な場合は、URL を変更せずに返します。セッション ID を含めることにより、指定された URL をエンコードします。エンコードが不要な場合は、URL を変更せずに返します。指定された名前のレスポンスヘッダーの値を取得します。このレスポンスのヘッダーの名前を取得します。getHeaders
(StringSE name) 指定された名前のレスポンスヘッダーの値を取得します。int
このレスポンスの現在のステータスコードを取得します。default SupplierSE<MapSE<StringSE,
StringSE>> トレーラーヘッダーのサプライヤーを取得します。void
sendError
(int sc) 指定されたステータスコードを使用してエラーレスポンスをクライアントに送信し、バッファをクリアします。void
指定されたステータスを使用してエラーレスポンスをクライアントに送信し、バッファをクリアします。default void
sendRedirect
(StringSE location) 指定されたリダイレクト場所 URL を使用してクライアントにリダイレクトレスポンスをステータスコードSC_FOUND
302 (Found) とともに送信し、レスポンスバッファをクリアしてレスポンスをコミットします。default void
sendRedirect
(StringSE location, boolean clearBuffer) 指定されたリダイレクト場所 URL を使用して、ステータスコードSC_FOUND
302 (Found) とともにリダイレクトレスポンスをクライアントに送信し、オプションでレスポンスバッファをクリアしてレスポンスをコミットします。default void
sendRedirect
(StringSE location, int sc) 指定されたリダイレクト場所の URL とステータスコードを使用してリダイレクトレスポンスをクライアントに送信し、レスポンスバッファをクリアしてレスポンスをコミットします。void
sendRedirect
(StringSE location, int sc, boolean clearBuffer) 指定されたリダイレクト場所の URL とステータスコードを使用してリダイレクトレスポンスをクライアントに送信し、オプションでレスポンスバッファをクリアしてレスポンスをコミットします。void
setDateHeader
(StringSE name, long date) 指定された名前と日付値でレスポンスヘッダーを設定します。void
指定された名前と値でレスポンスヘッダーを設定します。void
setIntHeader
(StringSE name, int value) 指定された名前と整数値でレスポンスヘッダーを設定します。void
setStatus
(int sc) このレスポンスのステータスコードを設定します。default void
setTrailerFields
(SupplierSE<MapSE<StringSE, StringSE>> supplier) トレーラーヘッダーのサプライヤーを設定します。インターフェース jakarta.servlet.ServletResponse から継承されたメソッド
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getOutputStream, getWriter, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale
フィールドの詳細
SC_CONTINUE
static final int SC_CONTINUEクライアントが続行できることを示すステータスコード (100)。- 関連事項:
SC_SWITCHING_PROTOCOLS
static final int SC_SWITCHING_PROTOCOLSサーバーが Upgrade ヘッダーに従ってプロトコルを切り替えていることを示すステータスコード (101)。- 関連事項:
SC_OK
static final int SC_OKリクエストが正常に成功したことを示すステータスコード (200)。- 関連事項:
SC_CREATED
static final int SC_CREATEDリクエストが成功し、サーバー上に新しいリソースを作成したことを示すステータスコード (201)。- 関連事項:
SC_ACCEPTED
static final int SC_ACCEPTEDリクエストが処理のために受け入れられたが、完了しなかったことを示すステータスコード (202)。- 関連事項:
SC_NON_AUTHORITATIVE_INFORMATION
static final int SC_NON_AUTHORITATIVE_INFORMATIONクライアントから提示されたメタ情報がサーバーからのものではないことを示すステータスコード (203)。- 関連事項:
SC_NO_CONTENT
static final int SC_NO_CONTENTリクエストは成功したが、返す新しい情報がないことを示すステータスコード (204)。- 関連事項:
SC_RESET_CONTENT
static final int SC_RESET_CONTENTエージェントは、リクエストが送信される原因となったドキュメントビューをリセットする必要があることを示すステータスコード (205)。- 関連事項:
SC_PARTIAL_CONTENT
static final int SC_PARTIAL_CONTENTサーバーがリソースに対する部分的な GET リクエストを実行したことを示すステータスコード (206)。- 関連事項:
SC_MULTIPLE_CHOICES
static final int SC_MULTIPLE_CHOICESリクエストされたリソースが、それぞれ固有の場所を持つ表現のセットのいずれかに対応することを示すステータスコード (300)。- 関連事項:
SC_MOVED_PERMANENTLY
static final int SC_MOVED_PERMANENTLYリソースが永続的に新しい場所に移動し、今後の参照ではリクエストで新しい URI を使用する必要があることを示すステータスコード (301)。- 関連事項:
SC_MOVED_TEMPORARILY
static final int SC_MOVED_TEMPORARILYリソースが一時的に別の場所に移動したが、今後の参照ではリソースにアクセスするために元の URI を使用する必要があることを示すステータスコード (302)。この定義は、後方互換性のために保持されています。SC_FOUND が優先される定義になりました。- 関連事項:
SC_FOUND
static final int SC_FOUNDリソースが一時的に別の URI にあることを示すステータスコード (302)。リダイレクトは時々変更される可能性があるため、クライアントは今後のリクエストに Request-URI を引き続き使用する必要があります。(HTTP/1.1)ステータスコード (302) を表すには、この変数を使用することをお勧めします。- 関連事項:
SC_SEE_OTHER
static final int SC_SEE_OTHERリクエストへのレスポンスが別の URI で見つかることを示すステータスコード (303)。- 関連事項:
SC_NOT_MODIFIED
static final int SC_NOT_MODIFIED条件付き GET 操作で、リソースが利用可能であり、変更されていないことが検出されたことを示すステータスコード (304)。- 関連事項:
SC_USE_PROXY
static final int SC_USE_PROXYLocation
フィールドで指定されたプロキシを介して、リクエストされたリソースにアクセスする必要があることを示すステータスコード (305)。- 関連事項:
SC_TEMPORARY_REDIRECT
static final int SC_TEMPORARY_REDIRECTリクエストされたリソースが一時的に別の URI にあることを示すステータスコード (307)。一時 URI は、レスポンスのLocation
フィールドによって与えられるべきです(SHOULD)。- 関連事項:
SC_PERMANENT_REDIRECT
static final int SC_PERMANENT_REDIRECTリクエストされたリソースが別の URI に永続的に存在することを示すステータスコード (308)。新しい URI は、レスポンスのLocation
フィールドによって指定される必要があります (SHOULD )。- 導入:
- Servlet 6.1
- 関連事項:
SC_BAD_REQUEST
static final int SC_BAD_REQUESTクライアントから送信されたリクエストが構文的に正しくないことを示すステータスコード (400)。- 関連事項:
SC_UNAUTHORIZED
static final int SC_UNAUTHORIZEDリクエストに HTTP 認証が必要であることを示すステータスコード (401)。- 関連事項:
SC_PAYMENT_REQUIRED
static final int SC_PAYMENT_REQUIREDステータスコード (402) は将来の使用のために予約されています。- 関連事項:
SC_FORBIDDEN
static final int SC_FORBIDDENサーバーがリクエストを理解したが、それを実行することを拒否したことを示すステータスコード (403)。- 関連事項:
SC_NOT_FOUND
static final int SC_NOT_FOUNDリクエストされたリソースが利用できないことを示すステータスコード (404)。- 関連事項:
SC_METHOD_NOT_ALLOWED
static final int SC_METHOD_NOT_ALLOWEDRequest-Line
で指定されたメソッドがRequest-URI
で識別されるリソースに対して許可されていないことを示すステータスコード (405)。- 関連事項:
SC_NOT_ACCEPTABLE
static final int SC_NOT_ACCEPTABLEリクエストで識別されたリソースが、リクエストで送信された受け入れヘッダーに従って受け入れられないコンテンツ特性を持つレスポンスエンティティを生成できるだけであることを示すステータスコード (406)。- 関連事項:
SC_PROXY_AUTHENTICATION_REQUIRED
static final int SC_PROXY_AUTHENTICATION_REQUIREDクライアントが最初にプロキシで自身を認証する必要があることを示すステータスコード (407)。- 関連事項:
SC_REQUEST_TIMEOUT
static final int SC_REQUEST_TIMEOUTサーバーが待機する準備ができている時間内にクライアントがリクエストを生成しなかったことを示すステータスコード (408)。- 関連事項:
SC_CONFLICT
static final int SC_CONFLICTリソースの現在の状態と競合するため、リクエストを完了できなかったことを示すステータスコード (409)。- 関連事項:
SC_GONE
static final int SC_GONEリソースがサーバーで使用できなくなり、転送アドレスが不明であることを示すステータスコード (410)。この状態は永久的なものと見なすべきです。- 関連事項:
SC_LENGTH_REQUIRED
static final int SC_LENGTH_REQUIRED定義されたContent-Length
なしではリクエストを処理できないことを示すステータスコード (411)。- 関連事項:
SC_PRECONDITION_FAILED
static final int SC_PRECONDITION_FAILED1 つ以上のリクエストヘッダーフィールドで指定された前提条件がサーバーでテストされたときに false と評価されたことを示すステータスコード (412)。- 関連事項:
SC_REQUEST_ENTITY_TOO_LARGE
static final int SC_REQUEST_ENTITY_TOO_LARGEリクエストエンティティがサーバーが処理できる、または処理できるよりも大きいため、サーバーがリクエストの処理を拒否していることを示すステータスコード (413)。- 関連事項:
SC_REQUEST_URI_TOO_LONG
static final int SC_REQUEST_URI_TOO_LONGRequest-URI
がサーバーが解釈するよりも長いため、サーバーがリクエストの処理を拒否していることを示すステータスコード (414)。- 関連事項:
SC_UNSUPPORTED_MEDIA_TYPE
static final int SC_UNSUPPORTED_MEDIA_TYPEリクエストのエンティティが、リクエストされたメソッドのリクエストされたリソースでサポートされていない形式であるため、サーバーがリクエストのサービスを拒否していることを示すステータスコード (415)。- 関連事項:
SC_REQUESTED_RANGE_NOT_SATISFIABLE
static final int SC_REQUESTED_RANGE_NOT_SATISFIABLEサーバーがリクエストされたバイト範囲を提供できないことを示すステータスコード (416)。- 関連事項:
SC_EXPECTATION_FAILED
static final int SC_EXPECTATION_FAILEDサーバーが Expect リクエストヘッダーで指定された期待に応えられなかったことを示すステータスコード (417)。- 関連事項:
SC_MISDIRECTED_REQUEST
static final int SC_MISDIRECTED_REQUESTサーバーがターゲット URI に対する正式なレスポンスを生成する意思がない、または生成できないことを示すステータスコード (421)。- 導入:
- Servlet 6.1
- 関連事項:
SC_UNPROCESSABLE_CONTENT
static final int SC_UNPROCESSABLE_CONTENTサーバーがリクエストのコンテンツ型を理解しているが、含まれている命令を処理できないことを示すステータスコード (422)。- 導入:
- Servlet 6.1
- 関連事項:
SC_UPGRADE_REQUIRED
static final int SC_UPGRADE_REQUIREDサーバーが現在のプロトコルを使用したリクエストの実行を拒否したが、クライアントが別のプロトコルにアップグレードした後はリクエストを実行する可能性があることを示すステータスコード (426)。サーバーは、レスポンスに適切なUpgrade
ヘッダーを含める必要があります。- 導入:
- Servlet 6.1
- 関連事項:
SC_INTERNAL_SERVER_ERROR
static final int SC_INTERNAL_SERVER_ERRORHTTP サーバー内部のエラーを示すステータスコード (500)。リクエストの実行を妨げました。- 関連事項:
SC_NOT_IMPLEMENTED
static final int SC_NOT_IMPLEMENTEDHTTP サーバーがリクエストを満たすために必要な機能をサポートしていないことを示すステータスコード (501)。- 関連事項:
SC_BAD_GATEWAY
static final int SC_BAD_GATEWAYHTTP サーバーがプロキシまたはゲートウェイとして動作しているときに問い合わせたサーバーから無効なレスポンスを受信したことを示すステータスコード (502)。- 関連事項:
SC_SERVICE_UNAVAILABLE
static final int SC_SERVICE_UNAVAILABLEHTTP サーバーが一時的にオーバーロードになっており、リクエストを処理できないことを示すステータスコード (503)。- 関連事項:
SC_GATEWAY_TIMEOUT
static final int SC_GATEWAY_TIMEOUTゲートウェイまたはプロキシとして機能している間に、サーバーがアップストリームサーバーからタイムリーなレスポンスを受信しなかったことを示すステータスコード (504)。- 関連事項:
SC_HTTP_VERSION_NOT_SUPPORTED
static final int SC_HTTP_VERSION_NOT_SUPPORTEDサーバーがリクエストメッセージで使用された HTTP プロトコルバージョンをサポートしていないか、サポートを拒否していることを示すステータスコード (505)。- 関連事項:
メソッドの詳細
addCookie
指定した Cookie をレスポンスに追加します。このメソッドを複数回呼び出して、複数の Cookie を設定できます。このメソッドは、レスポンスがコミットされた後に呼び出された場合には効果がありません。
- パラメーター:
cookie
- Cookie をクライアントに返す
containsHeader
名前付きレスポンスヘッダーがすでに設定されているかどうかを示すブール値を返します。- パラメーター:
name
- ヘッダー名- 戻り値:
- 名前付きレスポンスヘッダーがすでに設定されている場合は
true
。それ以外の場合はfalse
encodeURL
セッション ID を含めることにより、指定された URL をエンコードします。エンコードが不要な場合は、URL を変更せずに返します。このメソッドの実装には、URL でセッション ID をエンコードする必要があるかどうかを判断するロジックが含まれています。例: ブラウザーが Cookie をサポートしている場合、またはセッショントラッキングがオフになっている場合、URL エンコードは不要です。堅牢なセッショントラッキングを行うには、サーブレットが発行するすべての URL をこのメソッドで実行する必要があります。そうしないと、Cookie をサポートしないブラウザーで URL 書き換えを使用できません。
URL が相対である場合、常に現在の HttpServletRequest に対して相対的です。
- パラメーター:
url
- エンコードされる URL。- 戻り値:
- エンコードが必要な場合はエンコードされた URL。それ以外の場合は未変更の URL。
- 例外:
IllegalArgumentExceptionSE
- URL が有効でない場合
encodeRedirectURL
指定された URL をsendRedirect
メソッドで使用するためにエンコードします。エンコードが不要な場合は、URL を変更せずに返します。このメソッドの実装には、URL でセッション ID をエンコードする必要があるかどうかを判断するロジックが含まれています。例: ブラウザーが Cookie をサポートしている場合、またはセッショントラッキングがオフになっている場合、URL エンコードは不要です。この決定を行うための規則は、通常のリンクをエンコードするかどうかを決定するために使用される規則とは異なる可能性があるため、このメソッドはencodeURL
メソッドから分離されています。HttpServletResponse.sendRedirect
メソッドに送信されるすべての URL は、このメソッドを介して実行する必要があります。そうしないと、Cookie をサポートしないブラウザーで URL 書き換えを使用できません。URL が相対である場合、常に現在の HttpServletRequest に対して相対的です。
- パラメーター:
url
- エンコードされる URL。- 戻り値:
- エンコードが必要な場合はエンコードされた URL。それ以外の場合は未変更の URL。
- 例外:
IllegalArgumentExceptionSE
- URL が有効でない場合- 関連事項:
sendError
指定されたステータスを使用してクライアントにエラーレスポンスを送信し、バッファをクリアします。サーバーはデフォルトで、指定されたメッセージを含む HTML 形式のサーバーエラーページのように見えるレスポンスを作成し、コンテンツ型を "text/html" に設定します。呼び出し元は、現在のレスポンスのエンコードとコンテンツ型に関して安全であることを確認するために、メッセージをエスケープまたは再エンコードする責任を負いません。安全性のこの側面は、メッセージを含むエラーページを生成するため、コンテナーの責任です。サーバーは Cookie を保持し、エラーページを有効なレスポンスとして提供するために必要なヘッダーをクリアまたは更新する場合があります。
渡されたステータスコードに対応する Web アプリケーションのエラーページ宣言が行われた場合、提案された msg パラメーターよりも優先して返され、msg パラメーターは無視されます。
レスポンスがすでにコミットされている場合、このメソッドは IllegalStateException をスローします。このメソッドを使用した後、レスポンスはコミットされたと見なされるべきであり、書き込まれるべきではありません。
- パラメーター:
sc
- エラー状態コードmsg
- 説明的なメッセージ- 例外:
IOExceptionSE
- 入力または出力の例外が発生した場合IllegalStateExceptionSE
- レスポンスがコミットされていた場合
sendError
指定されたステータスコードを使用してエラーレスポンスをクライアントに送信し、バッファをクリアします。サーバーは Cookie を保持し、エラーページを有効なレスポンスとして提供するために必要なヘッダーをクリアまたは更新する場合があります。渡されたステータスコードに対応する Web アプリケーションのエラーページ宣言が行われた場合、エラーページが返されます。レスポンスがすでにコミットされている場合、このメソッドは IllegalStateException をスローします。このメソッドを使用した後、レスポンスはコミットされたと見なされるべきであり、書き込まれるべきではありません。
- パラメーター:
sc
- エラー状態コード- 例外:
IOExceptionSE
- 入力または出力の例外が発生した場合IllegalStateExceptionSE
- このメソッド呼び出しの前にレスポンスがコミットされた場合
sendRedirect
指定されたリダイレクト場所 URL を使用してクライアントにリダイレクトレスポンスをステータスコードSC_FOUND
302 (Found) とともに送信し、レスポンスバッファをクリアしてレスポンスをコミットします。レスポンスバッファは、RFC 9110 に従って短いハイパーテキストのメモに置き換えられます。このメソッドは、インクルードから呼び出された場合には効果がありません。
- パラメーター:
location
- リダイレクト場所の URL (絶対的または相対的である可能性があります)- 例外:
IOExceptionSE
- 入力または出力の例外が発生した場合IllegalArgumentExceptionSE
- 相対 URL が指定されており、絶対 URL に変換できない場合IllegalStateExceptionSE
- このメソッドが呼び出されたときにレスポンスがすでにコミットされていた場合- 関連事項:
sendRedirect
指定されたリダイレクト場所 URL を使用して、ステータスコードSC_FOUND
302 (Found) とともにリダイレクトレスポンスをクライアントに送信し、オプションでレスポンスバッファをクリアしてレスポンスをコミットします。レスポンスバッファがクリアされると、RFC 9110 に従って短いハイパーテキストのメモに置き換えられます。このメソッドは、インクルードから呼び出された場合には効果がありません。
- パラメーター:
location
- リダイレクト場所の URL (絶対的または相対的である可能性があります)clearBuffer
-true
の場合、バッファをクリアし、このメソッドで設定されたデータと置き換えます。それ以外の場合は、既存のバッファを保持します。- 例外:
IOExceptionSE
- 入力または出力の例外が発生した場合IllegalArgumentExceptionSE
- 相対 URL が指定されており、絶対 URL に変換できない場合IllegalStateExceptionSE
- このメソッドが呼び出されたときにレスポンスがすでにコミットされていた場合- 導入:
- Servlet 6.1
- 関連事項:
sendRedirect
指定されたリダイレクト場所の URL とステータスコードを使用してリダイレクトレスポンスをクライアントに送信し、レスポンスバッファをクリアしてレスポンスをコミットします。レスポンスバッファは、RFC 9110 に従って短いハイパーテキストのメモに置き換えられます。このメソッドは、インクルードから呼び出された場合には効果がありません。
- パラメーター:
location
- リダイレクト場所の URL (絶対的または相対的である可能性があります)sc
- リダイレクトに使用するステータスコード- 例外:
IOExceptionSE
- 入力または出力の例外が発生した場合IllegalArgumentExceptionSE
- 相対 URL が指定されており、絶対 URL に変換できない場合IllegalStateExceptionSE
- このメソッドが呼び出されたときにレスポンスがすでにコミットされていた場合- 導入:
- Servlet 6.1
- 関連事項:
sendRedirect
指定されたリダイレクト場所の URL とステータスコードを使用してリダイレクトレスポンスをクライアントに送信し、オプションでレスポンスバッファをクリアしてレスポンスをコミットします。レスポンスバッファがクリアされると、RFC 9110 に従って短いハイパーテキストのメモに置き換えられます。このメソッドは、インクルードから呼び出された場合には効果がありません。
このメソッドは、相対 URL と絶対 URL の両方を受け入れます。このメソッドに渡された絶対 URL は、リダイレクト場所の URL として提供されたものとして使用されます。このメソッドに渡された相対 URL を絶対 URL に変換するか、リダイレクト場所 URL に指定されたとおりに使用するかを制御するコンテナー固有の機能 / オプションが提供されていない限り、相対 URL は絶対 URL に変換されます。相対 URL を絶対 URL に変換する場合は、次のようになります。
- 先頭に "/" がない相対的な場所の場合、コンテナーは現在のリクエスト URI を基準とした相対的な場所として解釈します。
- 位置が先頭に "/" を付けて相対的な場合、コンテナーはそれをサーブレットコンテナーのルートからの相対的な位置として解釈します。
- 位置が先頭に 2 つの "/" がある相対的な場合、コンテナーはそれをネットワークパス参照として解釈します ( RFC 3986: ユニフォームリソース識別子 (URI): 汎用構文、セクション 4.2 「相対参照」を参照)。
レスポンスがすでにコミットされている場合、このメソッドは IllegalStateException をスローします。このメソッドを使用した後、レスポンスはコミットされたと見なされるべきであり、書き込まれるべきではありません。
- パラメーター:
location
- リダイレクト場所の URL (絶対的または相対的である可能性があります)sc
- リダイレクトに使用するステータスコードclearBuffer
-true
の場合、バッファをクリアし、このメソッドで設定されたデータと置き換えます。それ以外の場合は、既存のバッファを保持します。- 例外:
IOExceptionSE
- 入力または出力の例外が発生した場合IllegalArgumentExceptionSE
- 相対 URL が指定されており、絶対 URL に変換できない場合IllegalStateExceptionSE
- このメソッドが呼び出されたときにレスポンスがすでにコミットされていた場合- 導入:
- Servlet 6.1
setDateHeader
指定された名前と日付値を使用してレスポンスヘッダーを設定します。日付はエポックからのミリ秒単位で指定されます。ヘッダーがすでに設定されている場合、新しい値によって以前の値がすべて上書きされます。containsHeader
メソッドを使用すると、値を設定する前にヘッダーの存在をテストできます。このメソッドは、レスポンスがコミットされた後に呼び出された場合には効果がありません。
name
パラメーターにnull
が渡された場合、このメソッドは効果がありません。- パラメーター:
name
- 設定するヘッダーの名前date
- 割り当てられた日付値- 関連事項:
addDateHeader
指定された名前と日付値を持つレスポンスヘッダーを追加します。日付は、エポックからのミリ秒で指定されます。このメソッドにより、レスポンスヘッダーに複数の値を設定できます。このメソッドは、レスポンスがコミットされた後に呼び出された場合には効果がありません。
name
パラメーターにnull
が渡された場合、このメソッドは効果がありません。- パラメーター:
name
- 設定するヘッダーの名前date
- 追加の日付値- 関連事項:
setHeader
指定された名前と値を使用してレスポンスヘッダーを設定します。ヘッダーがすでに設定されている場合、新しい値によって以前の値がすべて上書きされます。containsHeader
メソッドを使用すると、値を設定する前にヘッダーの存在をテストできます。このメソッドは、レスポンスがコミットされた後に呼び出された場合には効果がありません。
name
パラメーターにnull
が渡された場合、このメソッドは効果がありません。値として
null
を渡すと、指定された名前を持つすべてのヘッダーが削除されます。空の文字列は有効なヘッダー値であることに注意してください。
- パラメーター:
name
- ヘッダーの名前value
- ヘッダー値にオクテット文字列が含まれる場合、RFC 2047 に従ってエンコードする必要があります (http://www.ietf.org/rfc/rfc2047.txt)- 関連事項:
addHeader
指定された名前と値でレスポンスヘッダーを追加します。このメソッドにより、レスポンスヘッダーに複数の値を設定できます。このメソッドは、レスポンスがコミットされた後に呼び出された場合には効果がありません。
name
パラメーターまたはvalue
パラメーターのいずれかにnull
が渡された場合、このメソッドは効果がありません。空の文字列は有効なヘッダー値であることに注意してください。
- パラメーター:
name
- ヘッダーの名前value
- 追加のヘッダー値オクテット文字列を含む場合、RFC 2047 に従ってエンコードする必要があります (http://www.ietf.org/rfc/rfc2047.txt)- 関連事項:
setIntHeader
指定された名前と整数値を使用してレスポンスヘッダーを設定します。ヘッダーがすでに設定されている場合、新しい値によって以前の値がすべて上書きされます。containsHeader
メソッドを使用すると、値を設定する前にヘッダーの存在をテストできます。このメソッドは、レスポンスがコミットされた後に呼び出された場合には効果がありません。
name
パラメーターにnull
が渡された場合、このメソッドは効果がありません。- パラメーター:
name
- ヘッダーの名前value
- 割り当てられた整数値- 関連事項:
addIntHeader
指定された名前と整数値を持つレスポンスヘッダーを追加します。このメソッドにより、レスポンスヘッダーに複数の値を設定できます。このメソッドは、レスポンスがコミットされた後に呼び出された場合には効果がありません。
name
パラメーターにnull
が渡された場合、このメソッドは効果がありません。- パラメーター:
name
- ヘッダーの名前value
- 割り当てられた整数値- 関連事項:
setStatus
void setStatus(int sc) このレスポンスのステータスコードを設定します。このメソッドは、エラーがない場合(たとえば、SC_OK または SC_MOVED_TEMPORARILY ステータスコード)に戻りステータスコードを設定するために使用されます。
このメソッドを使用してエラーコードを設定すると、コンテナーのエラーページメカニズムはトリガーされません。エラーが発生し、呼び出し元が Web アプリケーションで定義されたエラーページを呼び出す場合は、代わりに
sendError(int, java.lang.String)
を使用する必要があります。このメソッドは、Cookie およびその他のレスポンスヘッダーを保持します。
有効なステータスコードは、2XX、3XX、4XX、5XX の範囲のものです。他のステータスコードは、コンテナー固有として扱われます。
このメソッドは、レスポンスがコミットされた後に呼び出された場合には効果がありません。
- パラメーター:
sc
- ステータスコード- 関連事項:
getStatus
int getStatus()このレスポンスの現在のステータスコードを取得します。- 戻り値:
- このレスポンスの現在のステータスコード
- 導入:
- Servlet 3.0
getHeader
指定された名前のレスポンスヘッダーの値を取得します。指定された名前のレスポンスヘッダーが存在し、複数の値が含まれている場合、最初に追加された値が返されます。
このメソッドは、それぞれ
setHeader(java.lang.String, java.lang.String)
、addHeader(java.lang.String, java.lang.String)
、setDateHeader(java.lang.String, long)
、addDateHeader(java.lang.String, long)
、setIntHeader(java.lang.String, int)
、addIntHeader(java.lang.String, int)
を介して設定または追加されたレスポンスヘッダーのみを考慮します。- パラメーター:
name
- 値を返すレスポンスヘッダーの名前- 戻り値:
- 指定された名前のレスポンスヘッダーの値、またはこのレスポンスに指定された名前のヘッダーが設定されていない場合は null
- 導入:
- Servlet 3.0
getHeaders
指定された名前のレスポンスヘッダーの値を取得します。このメソッドは、それぞれ
setHeader(java.lang.String, java.lang.String)
、addHeader(java.lang.String, java.lang.String)
、setDateHeader(java.lang.String, long)
、addDateHeader(java.lang.String, long)
、setIntHeader(java.lang.String, int)
、addIntHeader(java.lang.String, int)
を介して設定または追加されたレスポンスヘッダーのみを考慮します。返された
Collection
に対する変更は、このHttpServletResponse
に影響してはなりません。- パラメーター:
name
- 値が返されるレスポンスヘッダーの名前- 戻り値:
- 指定された名前を持つレスポンスヘッダーの値の(空の場合もある)
Collection
- 導入:
- Servlet 3.0
getHeaderNames
CollectionSE<StringSE> getHeaderNames()このレスポンスのヘッダーの名前を取得します。このメソッドは、それぞれ
setHeader(java.lang.String, java.lang.String)
、addHeader(java.lang.String, java.lang.String)
、setDateHeader(java.lang.String, long)
、addDateHeader(java.lang.String, long)
、setIntHeader(java.lang.String, int)
、addIntHeader(java.lang.String, int)
を介して設定または追加されたレスポンスヘッダーのみを考慮します。返された
Collection
に対する変更は、このHttpServletResponse
に影響してはなりません。- 戻り値:
- このレスポンスのヘッダーの名前の(空の場合もある)
Collection
- 導入:
- Servlet 3.0
setTrailerFields
トレーラーヘッダーのサプライヤーを設定します。トレーラーヘッダーフィールド値は、カンマ区切りリストとして定義されます(RFC 7230 のセクション 3.2.2 およびセクション 4.1.2 を参照)。
サプライヤーは、レスポンスコンテンツが完了するスレッド / 呼び出しの範囲内で呼び出されます。通常、これは、出力ストリームまたはライターで close() を呼び出すスレッドになります。
RFC 7230 のセクション 4.1.2 の規定に反して実行されるトレーラーは無視されます。
RFC では、指定された Map に含まれるすべてのキーの名前が、"Trailer" レスポンスヘッダーの値であるコンマ区切りリストに含まれている必要があります。アプリケーションは、この要件が満たされていることを確認する責任があります。そうしないと、相互運用性の障害につながる可能性があります。
- パラメーター:
supplier
- トレーラーヘッダーのサプライヤー- 例外:
IllegalStateExceptionSE
- レスポンスがコミットされた後に呼び出されるか、リクエストでトレーラがサポートされていない場合、たとえば、基になるプロトコルが HTTP 1.0 であるか、レスポンスが HTTP 1.1 のチャンクエンコーディングではありません。- 導入:
- Servlet 4.0
getTrailerFields
トレーラーヘッダーのサプライヤーを取得します。- 戻り値:
- トレーラーヘッダーの
Supplier
- 導入:
- Servlet 4.0