public class BufferedResponseImpl extends AbstractResponseWrapper
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| Constructor and Description |
|---|
BufferedResponseImpl(WebContext webContext,
javax.servlet.http.HttpServletResponse response)
创建一个
BufferedResponseImpl。 |
| Modifier and Type | Method and Description |
|---|---|
void |
commitBuffer()
将buffer中的内容提交到真正的servlet输出流中。
|
void |
flushBuffer()
冲洗buffer。
|
javax.servlet.ServletOutputStream |
getOutputStream()
取得输出流。
|
PrintWriter |
getWriter()
取得输出字符流。
|
boolean |
isBuffering()
设置是否将所有信息保存在内存中。
|
ByteArray |
peekByteBuffer()
返回最上层的ByteArray
|
String |
peekCharBuffer()
返回最上层的buffer
|
ByteArray |
popByteBuffer()
弹出最近的buffer,如果堆栈中只有一个buffer,则弹出后再创建一个新的。
|
String |
popCharBuffer()
弹出最近的buffer,如果堆栈中只有一个buffer,则弹出后再创建一个新的。
|
void |
pushBuffer()
创建新的buffer,保存老的buffer。
|
void |
resetBuffer()
清除所有buffers,常用于显示出现异常信息。
|
void |
setBuffering(boolean buffering)
设置buffer模式,如果设置成
true,表示将所有信息保存在内存中,否则直接输出到原始response中。 |
void |
setContentLength(int length)
设置content长度。该调用只在
setBuffering(false)时有效。 |
getServletContext, getWebContext, toStringaddCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setStatusgetBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, reset, setBufferSize, setCharacterEncoding, setContentType, setLocale, setResponsepublic BufferedResponseImpl(WebContext webContext, javax.servlet.http.HttpServletResponse response)
BufferedResponseImpl。requestContext - response所在的request contextresponse - 原始的responsepublic javax.servlet.ServletOutputStream getOutputStream()
throws IOException
getOutputStream in interface javax.servlet.ServletResponsegetOutputStream in class javax.servlet.ServletResponseWrapperIOException - 输入输出失败public PrintWriter getWriter() throws IOException
getWriter in interface javax.servlet.ServletResponsegetWriter in class javax.servlet.ServletResponseWrapperIOException - 输入输出失败public void setContentLength(int length)
setBuffering(false)时有效。setContentLength in interface javax.servlet.ServletResponsesetContentLength in class javax.servlet.ServletResponseWrapperlength - content长度public void flushBuffer()
throws IOException
flushBuffer in interface javax.servlet.ServletResponseflushBuffer in class javax.servlet.ServletResponseWrapperIOException - 如果失败public void resetBuffer()
resetBuffer in interface javax.servlet.ServletResponseresetBuffer in class javax.servlet.ServletResponseWrapperIllegalStateException - 如果response已经commitpublic boolean isBuffering()
truepublic void setBuffering(boolean buffering)
true,表示将所有信息保存在内存中,否则直接输出到原始response中。
此方法必须在getOutputStream和getWriter方法之前执行,否则将抛出
IllegalStateException。
buffering - 是否buffer内容IllegalStateException - getOutputStream或
getWriter方法已经被执行public void pushBuffer()
IllegalStateException - 如果不在buffer模式,或getWriter
方法曾被调用,或getOutputStream方法从未被调用public ByteArray popByteBuffer()
getOutputStream方法从未被调用,则返回空的byte arrayIllegalStateException - 如果不在buffer模式,或getWriter方法曾被调用public ByteArray peekByteBuffer()
getOutputStream方法从未被调用,则返回空的byte arrayIllegalStateException - 如果不在buffer模式,或getWriter方法曾被调用public String popCharBuffer()
getWriter方法从未被调用,则返回空的字符串IllegalStateException - 如果不在buffer模式,或getOutputStream
方法曾被调用public String peekCharBuffer()
getWriter方法从未被调用,则返回空的字符串IllegalStateException - 如果不在buffer模式,或getOutputStream
方法曾被调用public void commitBuffer()
throws IOException
如果从来没有执行过getOutputStream或getWriter
方法,则该方法不做任何事情。
IOException - 如果输入输出失败IllegalStateException - 如果不是在buffer模式,或buffer栈中不止一个bufferCopyright © 2006–2018 TinyGroup. All rights reserved.