|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjavax.servlet.ServletResponseWrapper
javax.servlet.http.HttpServletResponseWrapper
org.tinygroup.weblayer.webcontext.AbstractResponseWrapper
org.tinygroup.weblayer.webcontext.buffered.response.BufferedResponseImpl
public class BufferedResponseImpl
包裹HttpServletResponse,使之输出到内存中。
| 字段摘要 |
|---|
| 从接口 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 |
| 构造方法摘要 | |
|---|---|
BufferedResponseImpl(WebContext webContext,
javax.servlet.http.HttpServletResponse response)
创建一个 BufferedResponseImpl。 |
|
| 方法摘要 | |
|---|---|
void |
commitBuffer()
将buffer中的内容提交到真正的servlet输出流中。 |
void |
flushBuffer()
冲洗buffer。 |
javax.servlet.ServletOutputStream |
getOutputStream()
取得输出流。 |
PrintWriter |
getWriter()
取得输出字符流。 |
boolean |
isBuffering()
设置是否将所有信息保存在内存中。 |
org.tinygroup.commons.io.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长度。 |
| 从类 org.tinygroup.weblayer.webcontext.AbstractResponseWrapper 继承的方法 |
|---|
getServletContext, getWebContext, toString |
| 从类 javax.servlet.http.HttpServletResponseWrapper 继承的方法 |
|---|
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setStatus |
| 从类 javax.servlet.ServletResponseWrapper 继承的方法 |
|---|
getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, reset, setBufferSize, setCharacterEncoding, setContentType, setLocale, setResponse |
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| 从接口 javax.servlet.ServletResponse 继承的方法 |
|---|
getBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, reset, setBufferSize, setCharacterEncoding, setContentType, setLocale |
| 构造方法详细信息 |
|---|
public BufferedResponseImpl(WebContext webContext,
javax.servlet.http.HttpServletResponse response)
BufferedResponseImpl。
requestContext - response所在的request contextresponse - 原始的response| 方法详细信息 |
|---|
public javax.servlet.ServletOutputStream getOutputStream()
throws IOException
javax.servlet.ServletResponse 中的 getOutputStreamjavax.servlet.ServletResponseWrapper 中的 getOutputStreamIOException - 输入输出失败
public PrintWriter getWriter()
throws IOException
javax.servlet.ServletResponse 中的 getWriterjavax.servlet.ServletResponseWrapper 中的 getWriterIOException - 输入输出失败public void setContentLength(int length)
setBuffering(false)时有效。
javax.servlet.ServletResponse 中的 setContentLengthjavax.servlet.ServletResponseWrapper 中的 setContentLengthlength - content长度
public void flushBuffer()
throws IOException
javax.servlet.ServletResponse 中的 flushBufferjavax.servlet.ServletResponseWrapper 中的 flushBufferIOException - 如果失败public void resetBuffer()
javax.servlet.ServletResponse 中的 resetBufferjavax.servlet.ServletResponseWrapper 中的 resetBufferIllegalStateException - 如果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 org.tinygroup.commons.io.ByteArray popByteBuffer()
getOutputStream方法从未被调用,则返回空的byte array
IllegalStateException - 如果不在buffer模式,或getWriter方法曾被调用public String popCharBuffer()
getWriter方法从未被调用,则返回空的字符串
IllegalStateException - 如果不在buffer模式,或getOutputStream
方法曾被调用
public void commitBuffer()
throws IOException
如果从来没有执行过getOutputStream或getWriter
方法,则该方法不做任何事情。
IOException - 如果输入输出失败
IllegalStateException - 如果不是在buffer模式,或buffer栈中不止一个buffer
|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||