//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, waitpublic void addCookie(javax.servlet.http.Cookie cookie)
addCookie in interface javax.servlet.http.HttpServletResponsepublic boolean containsHeader(java.lang.String name)
containsHeader in interface javax.servlet.http.HttpServletResponsepublic java.lang.String encodeRedirectUrl(java.lang.String url)
encodeRedirectUrl in interface javax.servlet.http.HttpServletResponsepublic java.lang.String encodeURL(java.lang.String url)
encodeURL in interface javax.servlet.http.HttpServletResponsepublic java.lang.String encodeRedirectURL(java.lang.String url)
encodeRedirectURL in interface javax.servlet.http.HttpServletResponsepublic java.lang.String encodeUrl(java.lang.String url)
encodeUrl in interface javax.servlet.http.HttpServletResponsepublic void setDateHeader(java.lang.String name,
long date)
setDateHeader in interface javax.servlet.http.HttpServletResponsepublic void sendError(int sc)
throws java.io.IOException
sendError in interface javax.servlet.http.HttpServletResponsejava.io.IOExceptionpublic void sendError(int sc,
java.lang.String msg)
throws java.io.IOException
sendError in interface javax.servlet.http.HttpServletResponsejava.io.IOExceptionpublic void sendRedirect(java.lang.String location)
throws java.io.IOException
sendRedirect in interface javax.servlet.http.HttpServletResponsejava.io.IOExceptionpublic void setStatus(int sc)
setStatus in interface javax.servlet.http.HttpServletResponsepublic void setStatus(int sc,
java.lang.String sm)
setStatus in interface javax.servlet.http.HttpServletResponsepublic void setHeader(java.lang.String name,
java.lang.String value)
setHeader in interface javax.servlet.http.HttpServletResponsepublic void setIntHeader(java.lang.String name,
int value)
setIntHeader in interface javax.servlet.http.HttpServletResponsepublic void addIntHeader(java.lang.String name,
int value)
addIntHeader in interface javax.servlet.http.HttpServletResponsepublic void addHeader(java.lang.String name,
java.lang.String value)
addHeader in interface javax.servlet.http.HttpServletResponsepublic void addDateHeader(java.lang.String name,
long date)
addDateHeader in interface javax.servlet.http.HttpServletResponsepublic java.lang.String getCharacterEncoding()
getCharacterEncoding in interface javax.servlet.ServletResponsepublic javax.servlet.ServletOutputStream getOutputStream()
throws java.io.IOException
getOutputStream in interface javax.servlet.ServletResponsejava.io.IOExceptionpublic java.io.PrintWriter getWriter()
throws java.io.IOException
getWriter in interface javax.servlet.ServletResponsejava.io.IOExceptionpublic void setContentLength(int len)
setContentLength in interface javax.servlet.ServletResponsepublic void setContentType(java.lang.String type)
setContentType in interface javax.servlet.ServletResponsepublic void setBufferSize(int size)
setBufferSize in interface javax.servlet.ServletResponsepublic int getBufferSize()
getBufferSize in interface javax.servlet.ServletResponsepublic void flushBuffer()
throws java.io.IOException
flushBuffer in interface javax.servlet.ServletResponsejava.io.IOExceptionpublic boolean isCommitted()
isCommitted in interface javax.servlet.ServletResponsepublic void reset()
reset in interface javax.servlet.ServletResponsepublic void setLocale(java.util.Locale loc)
setLocale in interface javax.servlet.ServletResponsepublic java.util.Locale getLocale()
getLocale in interface javax.servlet.ServletResponsepublic void resetBuffer()
resetBuffer in interface javax.servlet.ServletResponsejava.lang.IllegalStateException - if the response has already been committedpublic javax.servlet.ServletResponse getResponse()