类 ContentCachingResponseWrapper
- java.lang.Object
- javax.servlet.ServletResponseWrapper
- javax.servlet.http.HttpServletResponseWrapper
- org.springframework.web.util.ContentCachingResponseWrapper
- 所有已实现的接口:
HttpServletResponse
,ServletResponse
public class ContentCachingResponseWrapper extends HttpServletResponseWrapper
HttpServletResponse
wrapper that caches all content written to the output stream and writer, and allows this content to be retrieved via abyte array
.Used e.g. by
ShallowEtagHeaderFilter
. Note: As of Spring Framework 5.0, this wrapper is built on the Servlet 3.1 API.- 从以下版本开始:
- 4.1.3
- 作者:
- Juergen Hoeller
- 另请参阅:
ContentCachingRequestWrapper
字段概要
从接口继承的字段 javax.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_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_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_UNSUPPORTED_MEDIA_TYPE, SC_USE_PROXY
构造器概要
构造器 构造器 说明 ContentCachingResponseWrapper(HttpServletResponse response)
Create a new ContentCachingResponseWrapper for the given servlet response.
方法概要
所有方法 实例方法 具体方法 已过时的方法 修饰符和类型 方法 说明 void
copyBodyToResponse()
Copy the complete cached body content to the response.protected void
copyBodyToResponse(boolean complete)
Copy the cached body content to the response.void
flushBuffer()
The default behavior of this method is to call flushBuffer() on the wrapped response object.byte[]
getContentAsByteArray()
Return the cached response content as a byte array.InputStream
getContentInputStream()
Return anInputStream
to the cached content.int
getContentSize()
Return the current size of the cached content.ServletOutputStream
getOutputStream()
The default behavior of this method is to return getOutputStream() on the wrapped response object.int
getStatusCode()
已过时。as of 5.2 in favor ofHttpServletResponse.getStatus()
PrintWriter
getWriter()
The default behavior of this method is to return getWriter() on the wrapped response object.void
reset()
The default behavior of this method is to call reset() on the wrapped response object.void
resetBuffer()
The default behavior of this method is to call resetBuffer() on the wrapped response object.void
sendError(int sc)
The default behavior of this method is to call sendError(int sc) on the wrapped response object.void
sendError(int sc, String msg)
The default behavior of this method is to call sendError(int sc, String msg) on the wrapped response object.void
sendRedirect(String location)
The default behavior of this method is to return sendRedirect(String location) on the wrapped response object.void
setBufferSize(int size)
The default behavior of this method is to call setBufferSize(int size) on the wrapped response object.void
setContentLength(int len)
The default behavior of this method is to call setContentLength(int len) on the wrapped response object.void
setContentLengthLong(long len)
The default behavior of this method is to call setContentLengthLong(long len) on the wrapped response object.从类继承的方法 javax.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, getTrailerFields, setDateHeader, setHeader, setIntHeader, setStatus, setStatus, setTrailerFields
从类继承的方法 javax.servlet.ServletResponseWrapper
getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, setCharacterEncoding, setContentType, setLocale, setResponse
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从接口继承的方法 javax.servlet.ServletResponse
getBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, setCharacterEncoding, setContentType, setLocale
构造器详细资料
ContentCachingResponseWrapper
public ContentCachingResponseWrapper(HttpServletResponse response)
Create a new ContentCachingResponseWrapper for the given servlet response.- 参数:
response
- the original servlet response
方法详细资料
sendError
public void sendError(int sc) throws IOException
The default behavior of this method is to call sendError(int sc) on the wrapped response object.- 指定者:
sendError
在接口中HttpServletResponse
- 覆盖:
sendError
在类中HttpServletResponseWrapper
- 参数:
sc
- the error status code- 抛出:
IOException
- If an input or output exception occurs
sendError
public void sendError(int sc, String msg) throws IOException
The default behavior of this method is to call sendError(int sc, String msg) on the wrapped response object.- 指定者:
sendError
在接口中HttpServletResponse
- 覆盖:
sendError
在类中HttpServletResponseWrapper
- 参数:
sc
- the error status codemsg
- the descriptive message- 抛出:
IOException
- If an input or output exception occurs
sendRedirect
public void sendRedirect(String location) throws IOException
The default behavior of this method is to return sendRedirect(String location) on the wrapped response object.- 指定者:
sendRedirect
在接口中HttpServletResponse
- 覆盖:
sendRedirect
在类中HttpServletResponseWrapper
- 参数:
location
- the redirect location URL- 抛出:
IOException
- If an input or output exception occurs
getOutputStream
public ServletOutputStream getOutputStream() throws IOException
从类复制的说明:javax.servlet.ServletResponseWrapper
The default behavior of this method is to return getOutputStream() on the wrapped response object.- 指定者:
getOutputStream
在接口中ServletResponse
- 覆盖:
getOutputStream
在类中ServletResponseWrapper
- 返回:
- a
ServletOutputStream
for writing binary data - 抛出:
IOException
- if an input or output exception occurred- 另请参阅:
ServletResponse.getWriter()
,ServletResponse.reset()
getWriter
public PrintWriter getWriter() throws IOException
从类复制的说明:javax.servlet.ServletResponseWrapper
The default behavior of this method is to return getWriter() on the wrapped response object.- 指定者:
getWriter
在接口中ServletResponse
- 覆盖:
getWriter
在类中ServletResponseWrapper
- 返回:
- a
PrintWriter
object that can return character data to the client - 抛出:
UnsupportedEncodingException
- if the character encoding returned bygetCharacterEncoding
cannot be usedIOException
- if an input or output exception occurred- 另请参阅:
ServletResponse.getOutputStream()
,ServletResponse.setCharacterEncoding(java.lang.String)
,ServletResponse.reset()
flushBuffer
public void flushBuffer() throws IOException
从类复制的说明:javax.servlet.ServletResponseWrapper
The default behavior of this method is to call flushBuffer() on the wrapped response object.- 指定者:
flushBuffer
在接口中ServletResponse
- 覆盖:
flushBuffer
在类中ServletResponseWrapper
- 抛出:
IOException
- if the act of flushing the buffer cannot be completed.- 另请参阅:
ServletResponse.setBufferSize(int)
,ServletResponse.getBufferSize()
,ServletResponse.isCommitted()
,ServletResponse.reset()
setContentLength
public void setContentLength(int len)
从类复制的说明:javax.servlet.ServletResponseWrapper
The default behavior of this method is to call setContentLength(int len) on the wrapped response object.- 指定者:
setContentLength
在接口中ServletResponse
- 覆盖:
setContentLength
在类中ServletResponseWrapper
- 参数:
len
- an integer specifying the length of the content being returned to the client; sets the Content-Length header
setContentLengthLong
public void setContentLengthLong(long len)
从类复制的说明:javax.servlet.ServletResponseWrapper
The default behavior of this method is to call setContentLengthLong(long len) on the wrapped response object.- 指定者:
setContentLengthLong
在接口中ServletResponse
- 覆盖:
setContentLengthLong
在类中ServletResponseWrapper
- 参数:
len
- a long specifying the length of the content being returned to the client; sets the Content-Length header
setBufferSize
public void setBufferSize(int size)
从类复制的说明:javax.servlet.ServletResponseWrapper
The default behavior of this method is to call setBufferSize(int size) on the wrapped response object.- 指定者:
setBufferSize
在接口中ServletResponse
- 覆盖:
setBufferSize
在类中ServletResponseWrapper
- 参数:
size
- the preferred buffer size- 另请参阅:
ServletResponse.getBufferSize()
,ServletResponse.flushBuffer()
,ServletResponse.isCommitted()
,ServletResponse.reset()
resetBuffer
public void resetBuffer()
从类复制的说明:javax.servlet.ServletResponseWrapper
The default behavior of this method is to call resetBuffer() on the wrapped response object.
reset
public void reset()
从类复制的说明:javax.servlet.ServletResponseWrapper
The default behavior of this method is to call reset() on the wrapped response object.
getStatusCode
@Deprecated public int getStatusCode()
已过时。as of 5.2 in favor ofHttpServletResponse.getStatus()
Return the status code as specified on the response.
getContentAsByteArray
public byte[] getContentAsByteArray()
Return the cached response content as a byte array.
getContentInputStream
public InputStream getContentInputStream()
Return anInputStream
to the cached content.- 从以下版本开始:
- 4.2
getContentSize
public int getContentSize()
Return the current size of the cached content.- 从以下版本开始:
- 4.2
copyBodyToResponse
public void copyBodyToResponse() throws IOException
Copy the complete cached body content to the response.- 抛出:
IOException
- 从以下版本开始:
- 4.2
copyBodyToResponse
protected void copyBodyToResponse(boolean complete) throws IOException
Copy the cached body content to the response.- 参数:
complete
- whether to set a corresponding content length for the complete cached body content- 抛出:
IOException
- 从以下版本开始:
- 4.2