//The data written to this response will be saved to the specified file. public class FileOutputResponse extends HttpServletResponseProxy{ private HttpServletResponse _response; private File _file; public FileOutputResponse(File f, HttpServletResponse resp){ _file = f; _response = resp; } protected HttpServletResponse getProxiedHttpServletResponse(){ return _response; } //overload response functionality public ServletOutputStream getOutputStream() throws IOException{ return new ServletOutputStreamAdapter(new FileOutputStream(_file)); } public PrintWriter getWriter() throws IOException{ return new PrintWriter(getOutputStream()); } }
//This servlet will store the response of another servlet to a file. public class SaveResponseToFileServlet extends HttpServlet{ public void service(HttpServletRequest req, HttpServletResponse resp){ resp = new FileOutputResponse(req, new File("/tmp/response.txt")); //store the response of SnoopServlet to the response.txt file. getServletContext().getRequestDispatcher("/servlet/SnoopServlet").forward(req, resp); } }
public abstract class HttpServletResponseProxy
extends java.lang.Object
implements 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
Constructor and Description |
---|
HttpServletResponseProxy()
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
void |
addCookie(javax.servlet.http.Cookie cookie)
Deprecated.
|
void |
addDateHeader(java.lang.String name,
long date)
Deprecated.
|
void |
addHeader(java.lang.String name,
java.lang.String value)
Deprecated.
|
void |
addIntHeader(java.lang.String name,
int value)
Deprecated.
|
boolean |
containsHeader(java.lang.String name)
Deprecated.
|
java.lang.String |
encodeRedirectUrl(java.lang.String url)
Deprecated.
|
java.lang.String |
encodeRedirectURL(java.lang.String url)
Deprecated.
|
java.lang.String |
encodeUrl(java.lang.String url)
Deprecated.
|
java.lang.String |
encodeURL(java.lang.String url)
Deprecated.
|
void |
flushBuffer()
Deprecated.
|
int |
getBufferSize()
Deprecated.
|
java.lang.String |
getCharacterEncoding()
Deprecated.
|
java.util.Locale |
getLocale()
Deprecated.
|
javax.servlet.ServletOutputStream |
getOutputStream()
Deprecated.
|
javax.servlet.ServletResponse |
getResponse()
Deprecated.
|
java.io.PrintWriter |
getWriter()
Deprecated.
|
boolean |
isCommitted()
Deprecated.
|
void |
reset()
Deprecated.
|
void |
resetBuffer()
Deprecated.
Clears the content of the underlying buffer in the response without clearing
headers or status code.
|
void |
sendError(int sc)
Deprecated.
|
void |
sendError(int sc,
java.lang.String msg)
Deprecated.
|
void |
sendRedirect(java.lang.String location)
Deprecated.
|
void |
setBufferSize(int size)
Deprecated.
|
void |
setContentLength(int len)
Deprecated.
|
void |
setContentType(java.lang.String type)
Deprecated.
|
void |
setDateHeader(java.lang.String name,
long date)
Deprecated.
|
void |
setHeader(java.lang.String name,
java.lang.String value)
Deprecated.
|
void |
setIntHeader(java.lang.String name,
int value)
Deprecated.
|
void |
setLocale(java.util.Locale loc)
Deprecated.
|
void |
setStatus(int sc)
Deprecated.
|
void |
setStatus(int sc,
java.lang.String sm)
Deprecated.
|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public void addCookie(javax.servlet.http.Cookie cookie)
addCookie
in interface javax.servlet.http.HttpServletResponse
public boolean containsHeader(java.lang.String name)
containsHeader
in interface javax.servlet.http.HttpServletResponse
public java.lang.String encodeRedirectUrl(java.lang.String url)
encodeRedirectUrl
in interface javax.servlet.http.HttpServletResponse
public java.lang.String encodeURL(java.lang.String url)
encodeURL
in interface javax.servlet.http.HttpServletResponse
public java.lang.String encodeRedirectURL(java.lang.String url)
encodeRedirectURL
in interface javax.servlet.http.HttpServletResponse
public java.lang.String encodeUrl(java.lang.String url)
encodeUrl
in interface javax.servlet.http.HttpServletResponse
public void setDateHeader(java.lang.String name, long date)
setDateHeader
in interface javax.servlet.http.HttpServletResponse
public void sendError(int sc) throws java.io.IOException
sendError
in interface javax.servlet.http.HttpServletResponse
java.io.IOException
public void sendError(int sc, java.lang.String msg) throws java.io.IOException
sendError
in interface javax.servlet.http.HttpServletResponse
java.io.IOException
public void sendRedirect(java.lang.String location) throws java.io.IOException
sendRedirect
in interface javax.servlet.http.HttpServletResponse
java.io.IOException
public void setStatus(int sc)
setStatus
in interface javax.servlet.http.HttpServletResponse
public void setStatus(int sc, java.lang.String sm)
setStatus
in interface javax.servlet.http.HttpServletResponse
public void setHeader(java.lang.String name, java.lang.String value)
setHeader
in interface javax.servlet.http.HttpServletResponse
public void setIntHeader(java.lang.String name, int value)
setIntHeader
in interface javax.servlet.http.HttpServletResponse
public void addIntHeader(java.lang.String name, int value)
addIntHeader
in interface javax.servlet.http.HttpServletResponse
public void addHeader(java.lang.String name, java.lang.String value)
addHeader
in interface javax.servlet.http.HttpServletResponse
public void addDateHeader(java.lang.String name, long date)
addDateHeader
in interface javax.servlet.http.HttpServletResponse
public java.lang.String getCharacterEncoding()
getCharacterEncoding
in interface javax.servlet.ServletResponse
public javax.servlet.ServletOutputStream getOutputStream() throws java.io.IOException
getOutputStream
in interface javax.servlet.ServletResponse
java.io.IOException
public java.io.PrintWriter getWriter() throws java.io.IOException
getWriter
in interface javax.servlet.ServletResponse
java.io.IOException
public void setContentLength(int len)
setContentLength
in interface javax.servlet.ServletResponse
public void setContentType(java.lang.String type)
setContentType
in interface javax.servlet.ServletResponse
public void setBufferSize(int size)
setBufferSize
in interface javax.servlet.ServletResponse
public int getBufferSize()
getBufferSize
in interface javax.servlet.ServletResponse
public void flushBuffer() throws java.io.IOException
flushBuffer
in interface javax.servlet.ServletResponse
java.io.IOException
public boolean isCommitted()
isCommitted
in interface javax.servlet.ServletResponse
public void reset()
reset
in interface javax.servlet.ServletResponse
public void setLocale(java.util.Locale loc)
setLocale
in interface javax.servlet.ServletResponse
public java.util.Locale getLocale()
getLocale
in interface javax.servlet.ServletResponse
public void resetBuffer()
resetBuffer
in interface javax.servlet.ServletResponse
java.lang.IllegalStateException
- if the response has already been committedpublic javax.servlet.ServletResponse getResponse()