パッケージ jakarta.servlet.http

インターフェース HttpServletResponse

すべてのスーパーインターフェース:
ServletResponse
すべての既知の実装クラス:
HttpServletResponseWrapper

public interface HttpServletResponse extends ServletResponse
ServletResponse インターフェースを拡張して、レスポンスを送信する際に HTTP 固有の機能を提供します。例: HTTP ヘッダーと Cookie にアクセスするメソッドがあります。

サーブレットコンテナーは HttpServletResponse オブジェクトを作成し、それを引数としてサーブレットのサービスメソッド(doGetdoPost など)に渡します。

作成者:
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
    名前付きレスポンスヘッダーがすでに設定されているかどうかを示すブール値を返します。
    指定された URL を sendRedirect メソッドで使用するためにエンコードします。エンコードが不要な場合は、URL を変更せずに返します。
    セッション ID を含めることにより、指定された URL をエンコードします。エンコードが不要な場合は、URL を変更せずに返します。
    指定された名前のレスポンスヘッダーの値を取得します。
    このレスポンスのヘッダーの名前を取得します。
    指定された名前のレスポンスヘッダーの値を取得します。
    int
    このレスポンスの現在のステータスコードを取得します。
    トレーラーヘッダーのサプライヤーを取得します。
    void
    sendError(int sc)
    指定されたステータスコードを使用してエラーレスポンスをクライアントに送信し、バッファをクリアします。
    void
    sendError(int sc, StringSE msg)
    指定されたステータスを使用してエラーレスポンスをクライアントに送信し、バッファをクリアします。
    default void
    指定されたリダイレクト場所 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
    トレーラーヘッダーのサプライヤーを設定します。
  • フィールドの詳細

    • 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_PROXY
      Location フィールドで指定されたプロキシを介して、リクエストされたリソースにアクセスする必要があることを示すステータスコード (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_ALLOWED
      Request-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_FAILED
      1 つ以上のリクエストヘッダーフィールドで指定された前提条件がサーバーでテストされたときに 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_LONG
      Request-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_ERROR
      HTTP サーバー内部のエラーを示すステータスコード (500)。リクエストの実行を妨げました。
      関連事項:
    • SC_NOT_IMPLEMENTED

      static final int SC_NOT_IMPLEMENTED
      HTTP サーバーがリクエストを満たすために必要な機能をサポートしていないことを示すステータスコード (501)。
      関連事項:
    • SC_BAD_GATEWAY

      static final int SC_BAD_GATEWAY
      HTTP サーバーがプロキシまたはゲートウェイとして動作しているときに問い合わせたサーバーから無効なレスポンスを受信したことを示すステータスコード (502)。
      関連事項:
    • SC_SERVICE_UNAVAILABLE

      static final int SC_SERVICE_UNAVAILABLE
      HTTP サーバーが一時的にオーバーロードになっており、リクエストを処理できないことを示すステータスコード (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

      void addCookie(Cookie cookie)
      指定した Cookie をレスポンスに追加します。このメソッドを複数回呼び出して、複数の Cookie を設定できます。

      このメソッドは、レスポンスがコミットされた後に呼び出された場合には効果がありません。

      パラメーター:
      cookie - Cookie をクライアントに返す
    • containsHeader

      boolean containsHeader(StringSE name)
      名前付きレスポンスヘッダーがすでに設定されているかどうかを示すブール値を返します。
      パラメーター:
      name - ヘッダー名
      戻り値:
      名前付きレスポンスヘッダーがすでに設定されている場合は true。それ以外の場合は false 
    • encodeURL

      StringSE encodeURL(StringSE url)
      セッション ID を含めることにより、指定された URL をエンコードします。エンコードが不要な場合は、URL を変更せずに返します。このメソッドの実装には、URL でセッション ID をエンコードする必要があるかどうかを判断するロジックが含まれています。例: ブラウザーが Cookie をサポートしている場合、またはセッショントラッキングがオフになっている場合、URL エンコードは不要です。

      堅牢なセッショントラッキングを行うには、サーブレットが発行するすべての URL をこのメソッドで実行する必要があります。そうしないと、Cookie をサポートしないブラウザーで URL 書き換えを使用できません。

      URL が相対である場合、常に現在の HttpServletRequest に対して相対的です。

      パラメーター:
      url - エンコードされる URL。
      戻り値:
      エンコードが必要な場合はエンコードされた URL。それ以外の場合は未変更の URL。
      例外:
      IllegalArgumentExceptionSE - URL が有効でない場合
    • encodeRedirectURL

      StringSE encodeRedirectURL(StringSE url)
      指定された URL を sendRedirect メソッドで使用するためにエンコードします。エンコードが不要な場合は、URL を変更せずに返します。このメソッドの実装には、URL でセッション ID をエンコードする必要があるかどうかを判断するロジックが含まれています。例: ブラウザーが Cookie をサポートしている場合、またはセッショントラッキングがオフになっている場合、URL エンコードは不要です。この決定を行うための規則は、通常のリンクをエンコードするかどうかを決定するために使用される規則とは異なる可能性があるため、このメソッドは encodeURL メソッドから分離されています。

      HttpServletResponse.sendRedirect メソッドに送信されるすべての URL は、このメソッドを介して実行する必要があります。そうしないと、Cookie をサポートしないブラウザーで URL 書き換えを使用できません。

      URL が相対である場合、常に現在の HttpServletRequest に対して相対的です。

      パラメーター:
      url - エンコードされる URL。
      戻り値:
      エンコードが必要な場合はエンコードされた URL。それ以外の場合は未変更の URL。
      例外:
      IllegalArgumentExceptionSE - URL が有効でない場合
      関連事項:
    • sendError

      void sendError(int sc, StringSE msg) throws IOExceptionSE

      指定されたステータスを使用してクライアントにエラーレスポンスを送信し、バッファをクリアします。サーバーはデフォルトで、指定されたメッセージを含む HTML 形式のサーバーエラーページのように見えるレスポンスを作成し、コンテンツ型を "text/html" に設定します。呼び出し元は、現在のレスポンスのエンコードとコンテンツ型に関して安全であることを確認するために、メッセージをエスケープまたは再エンコードする責任を負いません。安全性のこの側面は、メッセージを含むエラーページを生成するため、コンテナーの責任です。サーバーは Cookie を保持し、エラーページを有効なレスポンスとして提供するために必要なヘッダーをクリアまたは更新する場合があります。

      渡されたステータスコードに対応する Web アプリケーションのエラーページ宣言が行われた場合、提案された msg パラメーターよりも優先して返され、msg パラメーターは無視されます。

      レスポンスがすでにコミットされている場合、このメソッドは IllegalStateException をスローします。このメソッドを使用した後、レスポンスはコミットされたと見なされるべきであり、書き込まれるべきではありません。

      パラメーター:
      sc - エラー状態コード
      msg - 説明的なメッセージ
      例外:
      IOExceptionSE - 入力または出力の例外が発生した場合
      IllegalStateExceptionSE - レスポンスがコミットされていた場合
    • sendError

      void sendError(int sc) throws IOExceptionSE
      指定されたステータスコードを使用してエラーレスポンスをクライアントに送信し、バッファをクリアします。サーバーは Cookie を保持し、エラーページを有効なレスポンスとして提供するために必要なヘッダーをクリアまたは更新する場合があります。渡されたステータスコードに対応する Web アプリケーションのエラーページ宣言が行われた場合、エラーページが返されます。

      レスポンスがすでにコミットされている場合、このメソッドは IllegalStateException をスローします。このメソッドを使用した後、レスポンスはコミットされたと見なされるべきであり、書き込まれるべきではありません。

      パラメーター:
      sc - エラー状態コード
      例外:
      IOExceptionSE - 入力または出力の例外が発生した場合
      IllegalStateExceptionSE - このメソッド呼び出しの前にレスポンスがコミットされた場合
    • sendRedirect

      default void sendRedirect(StringSE location) throws IOExceptionSE
      指定されたリダイレクト場所 URL を使用してクライアントにリダイレクトレスポンスをステータスコード SC_FOUND 302 (Found) とともに送信し、レスポンスバッファをクリアしてレスポンスをコミットします。レスポンスバッファは、RFC 9110 に従って短いハイパーテキストのメモに置き換えられます。

      このメソッドは、インクルードから呼び出された場合には効果がありません。

      パラメーター:
      location - リダイレクト場所の URL (絶対的または相対的である可能性があります)
      例外:
      IOExceptionSE - 入力または出力の例外が発生した場合
      IllegalArgumentExceptionSE - 相対 URL が指定されており、絶対 URL に変換できない場合
      IllegalStateExceptionSE - このメソッドが呼び出されたときにレスポンスがすでにコミットされていた場合
      関連事項:
    • sendRedirect

      default void sendRedirect(StringSE location, boolean clearBuffer) throws IOExceptionSE
      指定されたリダイレクト場所 URL を使用して、ステータスコード SC_FOUND 302 (Found) とともにリダイレクトレスポンスをクライアントに送信し、オプションでレスポンスバッファをクリアしてレスポンスをコミットします。レスポンスバッファがクリアされると、RFC 9110 に従って短いハイパーテキストのメモに置き換えられます。

      このメソッドは、インクルードから呼び出された場合には効果がありません。

      パラメーター:
      location - リダイレクト場所の URL (絶対的または相対的である可能性があります)
      clearBuffer - true の場合、バッファをクリアし、このメソッドで設定されたデータと置き換えます。それ以外の場合は、既存のバッファを保持します。
      例外:
      IOExceptionSE - 入力または出力の例外が発生した場合
      IllegalArgumentExceptionSE - 相対 URL が指定されており、絶対 URL に変換できない場合
      IllegalStateExceptionSE - このメソッドが呼び出されたときにレスポンスがすでにコミットされていた場合
      導入:
      Servlet 6.1
      関連事項:
    • sendRedirect

      default void sendRedirect(StringSE location, int sc) throws IOExceptionSE
      指定されたリダイレクト場所の URL とステータスコードを使用してリダイレクトレスポンスをクライアントに送信し、レスポンスバッファをクリアしてレスポンスをコミットします。レスポンスバッファは、RFC 9110 に従って短いハイパーテキストのメモに置き換えられます。

      このメソッドは、インクルードから呼び出された場合には効果がありません。

      パラメーター:
      location - リダイレクト場所の URL (絶対的または相対的である可能性があります)
      sc - リダイレクトに使用するステータスコード
      例外:
      IOExceptionSE - 入力または出力の例外が発生した場合
      IllegalArgumentExceptionSE - 相対 URL が指定されており、絶対 URL に変換できない場合
      IllegalStateExceptionSE - このメソッドが呼び出されたときにレスポンスがすでにコミットされていた場合
      導入:
      Servlet 6.1
      関連事項:
    • sendRedirect

      void sendRedirect(StringSE location, int sc, boolean clearBuffer) throws IOExceptionSE
      指定されたリダイレクト場所の 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

      void setDateHeader(StringSE name, long date)
      指定された名前と日付値を使用してレスポンスヘッダーを設定します。日付はエポックからのミリ秒単位で指定されます。ヘッダーがすでに設定されている場合、新しい値によって以前の値がすべて上書きされます。containsHeader メソッドを使用すると、値を設定する前にヘッダーの存在をテストできます。

      このメソッドは、レスポンスがコミットされた後に呼び出された場合には効果がありません。

      name パラメーターに null が渡された場合、このメソッドは効果がありません。

      パラメーター:
      name - 設定するヘッダーの名前
      date - 割り当てられた日付値
      関連事項:
    • addDateHeader

      void addDateHeader(StringSE name, long date)
      指定された名前と日付値を持つレスポンスヘッダーを追加します。日付は、エポックからのミリ秒で指定されます。このメソッドにより、レスポンスヘッダーに複数の値を設定できます。

      このメソッドは、レスポンスがコミットされた後に呼び出された場合には効果がありません。

      name パラメーターに null が渡された場合、このメソッドは効果がありません。

      パラメーター:
      name - 設定するヘッダーの名前
      date - 追加の日付値
      関連事項:
    • setHeader

      void setHeader(StringSE name, StringSE value)
      指定された名前と値を使用してレスポンスヘッダーを設定します。ヘッダーがすでに設定されている場合、新しい値によって以前の値がすべて上書きされます。containsHeader メソッドを使用すると、値を設定する前にヘッダーの存在をテストできます。

      このメソッドは、レスポンスがコミットされた後に呼び出された場合には効果がありません。

      name パラメーターに null が渡された場合、このメソッドは効果がありません。

      値として null を渡すと、指定された名前を持つすべてのヘッダーが削除されます。

      空の文字列は有効なヘッダー値であることに注意してください。

      パラメーター:
      name - ヘッダーの名前
      value - ヘッダー値にオクテット文字列が含まれる場合、RFC 2047 に従ってエンコードする必要があります (http://www.ietf.org/rfc/rfc2047.txt)
      関連事項:
    • addHeader

      void addHeader(StringSE name, StringSE value)
      指定された名前と値でレスポンスヘッダーを追加します。このメソッドにより、レスポンスヘッダーに複数の値を設定できます。

      このメソッドは、レスポンスがコミットされた後に呼び出された場合には効果がありません。

      name パラメーターまたは value パラメーターのいずれかに null が渡された場合、このメソッドは効果がありません。

      空の文字列は有効なヘッダー値であることに注意してください。

      パラメーター:
      name - ヘッダーの名前
      value - 追加のヘッダー値オクテット文字列を含む場合、RFC 2047 に従ってエンコードする必要があります (http://www.ietf.org/rfc/rfc2047.txt)
      関連事項:
    • setIntHeader

      void setIntHeader(StringSE name, int value)
      指定された名前と整数値を使用してレスポンスヘッダーを設定します。ヘッダーがすでに設定されている場合、新しい値によって以前の値がすべて上書きされます。containsHeader メソッドを使用すると、値を設定する前にヘッダーの存在をテストできます。

      このメソッドは、レスポンスがコミットされた後に呼び出された場合には効果がありません。

      name パラメーターに null が渡された場合、このメソッドは効果がありません。

      パラメーター:
      name - ヘッダーの名前
      value - 割り当てられた整数値
      関連事項:
    • addIntHeader

      void addIntHeader(StringSE name, int value)
      指定された名前と整数値を持つレスポンスヘッダーを追加します。このメソッドにより、レスポンスヘッダーに複数の値を設定できます。

      このメソッドは、レスポンスがコミットされた後に呼び出された場合には効果がありません。

      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

      StringSE getHeader(StringSE name)
      指定された名前のレスポンスヘッダーの値を取得します。

      指定された名前のレスポンスヘッダーが存在し、複数の値が含まれている場合、最初に追加された値が返されます。

      このメソッドは、それぞれ 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

      CollectionSE<StringSE> getHeaders(StringSE name)
      指定された名前のレスポンスヘッダーの値を取得します。

      このメソッドは、それぞれ 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

      default void setTrailerFields(SupplierSE<MapSE<StringSE,StringSE>> supplier)
      トレーラーヘッダーのサプライヤーを設定します。

      トレーラーヘッダーフィールド値は、カンマ区切りリストとして定義されます(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

      default SupplierSE<MapSE<StringSE,StringSE>> getTrailerFields()
      トレーラーヘッダーのサプライヤーを取得します。
      戻り値:
      トレーラーヘッダーの Supplier 
      導入:
      Servlet 4.0