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| 构造器和说明 |
|---|
BufferedResponseImpl(WebContext webContext,
javax.servlet.http.HttpServletResponse response)
创建一个
BufferedResponseImpl。 |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
commitBuffer()
将buffer中的内容提交到真正的servlet输出流中。
|
void |
flushBuffer()
冲洗buffer。
|
javax.servlet.ServletOutputStream |
getOutputStream()
取得输出流。
|
PrintWriter |
getWriter()
取得输出字符流。
|
boolean |
isBuffering()
设置是否将所有信息保存在内存中。
|
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长度。
|
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 在接口中 javax.servlet.ServletResponsegetOutputStream 在类中 javax.servlet.ServletResponseWrapperIOException - 输入输出失败public PrintWriter getWriter() throws IOException
getWriter 在接口中 javax.servlet.ServletResponsegetWriter 在类中 javax.servlet.ServletResponseWrapperIOException - 输入输出失败public void setContentLength(int length)
setBuffering(false)时有效。setContentLength 在接口中 javax.servlet.ServletResponsesetContentLength 在类中 javax.servlet.ServletResponseWrapperlength - content长度public void flushBuffer()
throws IOException
flushBuffer 在接口中 javax.servlet.ServletResponseflushBuffer 在类中 javax.servlet.ServletResponseWrapperIOException - 如果失败public void resetBuffer()
resetBuffer 在接口中 javax.servlet.ServletResponseresetBuffer 在类中 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 String popCharBuffer()
getWriter方法从未被调用,则返回空的字符串IllegalStateException - 如果不在buffer模式,或getOutputStream
方法曾被调用public void commitBuffer()
throws IOException
如果从来没有执行过getOutputStream或getWriter
方法,则该方法不做任何事情。
IOException - 如果输入输出失败IllegalStateException - 如果不是在buffer模式,或buffer栈中不止一个bufferCopyright © 2006-2013 开源组织. All Rights Reserved.