クラス ContentCachingResponseWrapper

java.lang.ObjectSE
jakarta.servlet.ServletResponseWrapper
jakarta.servlet.http.HttpServletResponseWrapper
org.springframework.web.util.ContentCachingResponseWrapper
実装されているすべてのインターフェース:
jakarta.servlet.http.HttpServletResponse, jakarta.servlet.ServletResponse

public class ContentCachingResponseWrapper extends jakarta.servlet.http.HttpServletResponseWrapper
出力ストリームライターに書き込まれたすべてのコンテンツをキャッシュし、このコンテンツをバイト配列経由で取得できるようにする HttpServletResponse ラッパー。

たとえば、ShallowEtagHeaderFilter によって使用されます。

導入:
4.1.3
作成者:
Juergen Hoeller, Sam Brannen
関連事項:
  • フィールドのサマリー

    インターフェース jakarta.servlet.http.HttpServletResponse から継承されたフィールド

    SC_ACCEPTED, SC_BAD_GATEWAY, SC_BAD_REQUEST, SC_CONFLICT, SC_CONTINUE, SC_CREATED, SC_EXPECTATION_FAILED, SC_FORBIDDEN, SC_FOUND, SC_GATEWAY_TIMEOUT, SC_GONE, SC_HTTP_VERSION_NOT_SUPPORTED, SC_INTERNAL_SERVER_ERROR, SC_LENGTH_REQUIRED, SC_METHOD_NOT_ALLOWED, SC_MISDIRECTED_REQUEST, SC_MOVED_PERMANENTLY, SC_MOVED_TEMPORARILY, SC_MULTIPLE_CHOICES, SC_NO_CONTENT, SC_NON_AUTHORITATIVE_INFORMATION, SC_NOT_ACCEPTABLE, SC_NOT_FOUND, SC_NOT_IMPLEMENTED, SC_NOT_MODIFIED, SC_OK, SC_PARTIAL_CONTENT, SC_PAYMENT_REQUIRED, SC_PERMANENT_REDIRECT, SC_PRECONDITION_FAILED, SC_PROXY_AUTHENTICATION_REQUIRED, SC_REQUEST_ENTITY_TOO_LARGE, SC_REQUEST_TIMEOUT, SC_REQUEST_URI_TOO_LONG, SC_REQUESTED_RANGE_NOT_SATISFIABLE, SC_RESET_CONTENT, SC_SEE_OTHER, SC_SERVICE_UNAVAILABLE, SC_SWITCHING_PROTOCOLS, SC_TEMPORARY_REDIRECT, SC_UNAUTHORIZED, SC_UNPROCESSABLE_CONTENT, SC_UNSUPPORTED_MEDIA_TYPE, SC_UPGRADE_REQUIRED, SC_USE_PROXY
  • コンストラクターの概要

    コンストラクター
    コンストラクター
    説明
    ContentCachingResponseWrapper(jakarta.servlet.http.HttpServletResponse response)
    指定されたサーブレットレスポンスに対して新しい ContentCachingResponseWrapper を作成します。
  • 方法の概要

    修飾子と型
    メソッド
    説明
    void
    void
    addIntHeader(StringSE name, int value)
    boolean
    void
    キャッシュされた完全な本文コンテンツをレスポンスにコピーします。
    protected void
    copyBodyToResponse(boolean complete)
    キャッシュされた本文コンテンツをレスポンスにコピーします。
    void
    コンテンツはまだレスポンスにコピーされていないため、このメソッドはコンテンツをクライアントにフラッシュしたり、基礎となるレスポンスをコミットしたりしません。
    byte[]
    キャッシュされたレスポンスコンテンツをバイト配列として返します。
    キャッシュされたコンテンツに InputStreamSE を返します。
    int
    キャッシュされたコンテンツの現在のサイズを返します。
    jakarta.servlet.ServletOutputStream
    void
    void
    void
    sendError(int sc)
    void
    sendError(int sc, StringSE msg)
    void
    void
    setBufferSize(int size)
    void
    void
    void
    void
    setIntHeader(StringSE name, int value)

    クラス jakarta.servlet.http.HttpServletResponseWrapper から継承されたメソッド

    addCookie, addDateHeader, encodeRedirectURL, encodeURL, getStatus, getTrailerFields, sendRedirect, sendRedirect, sendRedirect, setDateHeader, setStatus, setTrailerFields

    クラス jakarta.servlet.ServletResponseWrapper から継承されたメソッド

    getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, setCharacterEncoding, setCharacterEncoding, setContentType, setLocale, setResponse

    クラス ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE

    インターフェース jakarta.servlet.ServletResponse から継承されたメソッド

    getBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, setCharacterEncoding, setCharacterEncoding, setContentType, setLocale
  • コンストラクターの詳細

    • ContentCachingResponseWrapper

      public ContentCachingResponseWrapper(jakarta.servlet.http.HttpServletResponse response)
      指定されたサーブレットレスポンスに対して新しい ContentCachingResponseWrapper を作成します。
      パラメーター:
      response - 元のサーブレットレスポンス
  • メソッドの詳細

    • sendError

      public void sendError(int sc) throws IOExceptionSE
      次で指定:
      インターフェース jakarta.servlet.http.HttpServletResponsesendError 
      オーバーライド:
      クラス jakarta.servlet.http.HttpServletResponseWrappersendError 
      例外:
      IOExceptionSE
    • sendError

      public void sendError(int sc, StringSE msg) throws IOExceptionSE
      次で指定:
      インターフェース jakarta.servlet.http.HttpServletResponsesendError 
      オーバーライド:
      クラス jakarta.servlet.http.HttpServletResponseWrappersendError 
      例外:
      IOExceptionSE
    • sendRedirect

      public void sendRedirect(StringSE location) throws IOExceptionSE
      次で指定:
      インターフェース jakarta.servlet.http.HttpServletResponsesendRedirect 
      オーバーライド:
      クラス jakarta.servlet.http.HttpServletResponseWrappersendRedirect 
      例外:
      IOExceptionSE
    • getOutputStream

      public jakarta.servlet.ServletOutputStream getOutputStream() throws IOExceptionSE
      次で指定:
      インターフェース jakarta.servlet.ServletResponsegetOutputStream 
      オーバーライド:
      クラス jakarta.servlet.ServletResponseWrappergetOutputStream 
      例外:
      IOExceptionSE
    • getWriter

      public PrintWriterSE getWriter() throws IOExceptionSE
      次で指定:
      インターフェース jakarta.servlet.ServletResponsegetWriter 
      オーバーライド:
      クラス jakarta.servlet.ServletResponseWrappergetWriter 
      例外:
      IOExceptionSE
    • flushBuffer

      public void flushBuffer() throws IOExceptionSE
      コンテンツはまだレスポンスにコピーされていないため、このメソッドはコンテンツをクライアントにフラッシュしたり、基礎となるレスポンスをコミットしたりしません。

      copyBodyToResponse() を呼び出して、キャッシュされた本文の内容をラップされたレスポンスオブジェクトにコピーし、そのバッファーをフラッシュします。

      次で指定:
      インターフェース jakarta.servlet.ServletResponseflushBuffer 
      オーバーライド:
      クラス jakarta.servlet.ServletResponseWrapperflushBuffer 
      例外:
      IOExceptionSE
      関連事項:
      • ServletResponseWrapper.flushBuffer()
    • setContentLength

      public void setContentLength(int len)
      次で指定:
      インターフェース jakarta.servlet.ServletResponsesetContentLength 
      オーバーライド:
      クラス jakarta.servlet.ServletResponseWrappersetContentLength 
    • setContentLengthLong

      public void setContentLengthLong(long len)
      次で指定:
      インターフェース jakarta.servlet.ServletResponsesetContentLengthLong 
      オーバーライド:
      クラス jakarta.servlet.ServletResponseWrappersetContentLengthLong 
    • containsHeader

      public boolean containsHeader(StringSE name)
      次で指定:
      インターフェース jakarta.servlet.http.HttpServletResponsecontainsHeader 
      オーバーライド:
      クラス jakarta.servlet.http.HttpServletResponseWrappercontainsHeader 
    • setHeader

      public void setHeader(StringSE name, StringSE value)
      次で指定:
      インターフェース jakarta.servlet.http.HttpServletResponsesetHeader 
      オーバーライド:
      クラス jakarta.servlet.http.HttpServletResponseWrappersetHeader 
    • addHeader

      public void addHeader(StringSE name, StringSE value)
      次で指定:
      インターフェース jakarta.servlet.http.HttpServletResponseaddHeader 
      オーバーライド:
      クラス jakarta.servlet.http.HttpServletResponseWrapperaddHeader 
    • setIntHeader

      public void setIntHeader(StringSE name, int value)
      次で指定:
      インターフェース jakarta.servlet.http.HttpServletResponsesetIntHeader 
      オーバーライド:
      クラス jakarta.servlet.http.HttpServletResponseWrappersetIntHeader 
    • addIntHeader

      public void addIntHeader(StringSE name, int value)
      次で指定:
      インターフェース jakarta.servlet.http.HttpServletResponseaddIntHeader 
      オーバーライド:
      クラス jakarta.servlet.http.HttpServletResponseWrapperaddIntHeader 
    • getHeader

      public @Nullable StringSE getHeader(StringSE name)
      次で指定:
      インターフェース jakarta.servlet.http.HttpServletResponsegetHeader 
      オーバーライド:
      クラス jakarta.servlet.http.HttpServletResponseWrappergetHeader 
    • getHeaders

      public CollectionSE<StringSE> getHeaders(StringSE name)
      次で指定:
      インターフェース jakarta.servlet.http.HttpServletResponsegetHeaders 
      オーバーライド:
      クラス jakarta.servlet.http.HttpServletResponseWrappergetHeaders 
    • getHeaderNames

      public CollectionSE<StringSE> getHeaderNames()
      次で指定:
      インターフェース jakarta.servlet.http.HttpServletResponsegetHeaderNames 
      オーバーライド:
      クラス jakarta.servlet.http.HttpServletResponseWrappergetHeaderNames 
    • setBufferSize

      public void setBufferSize(int size)
      次で指定:
      インターフェース jakarta.servlet.ServletResponsesetBufferSize 
      オーバーライド:
      クラス jakarta.servlet.ServletResponseWrappersetBufferSize 
    • resetBuffer

      public void resetBuffer()
      次で指定:
      インターフェース jakarta.servlet.ServletResponseresetBuffer 
      オーバーライド:
      クラス jakarta.servlet.ServletResponseWrapperresetBuffer 
    • reset

      public void reset()
      次で指定:
      インターフェース jakarta.servlet.ServletResponsereset 
      オーバーライド:
      クラス jakarta.servlet.ServletResponseWrapperreset 
    • getContentAsByteArray

      public byte[] getContentAsByteArray()
      キャッシュされたレスポンスコンテンツをバイト配列として返します。
    • getContentInputStream

      public InputStreamSE getContentInputStream()
      キャッシュされたコンテンツに InputStreamSE を返します。
      導入:
      4.2
    • getContentSize

      public int getContentSize()
      キャッシュされたコンテンツの現在のサイズを返します。
      導入:
      4.2
    • copyBodyToResponse

      public void copyBodyToResponse() throws IOExceptionSE
      キャッシュされた完全な本文コンテンツをレスポンスにコピーします。
      例外:
      IOExceptionSE
      導入:
      4.2
    • copyBodyToResponse

      protected void copyBodyToResponse(boolean complete) throws IOExceptionSE
      キャッシュされた本文コンテンツをレスポンスにコピーします。
      パラメーター:
      complete - 完全なキャッシュされた本文コンテンツに対応するコンテンツの長さを設定するかどうか
      例外:
      IOExceptionSE
      導入:
      4.2