IBM WebSphere Application ServerTM
Release 8

com.ibm.websphere.servlet.response
Class HttpServletResponseProxy

java.lang.Object
  extended by com.ibm.websphere.servlet.response.HttpServletResponseProxy
All Implemented Interfaces:
javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse

Deprecated. since WAS V6.0 Use the HttpServletResponseWrapper class instead. Proxies function invocations to an underlying HttpServletResponse. Subclasses of this class can be created that overload or enhance the functionality of a server-provided HttpServletResponse.

Using the proxied response:

  1. Subclass this class and overload any desired functions.
  2. During the servlet's service method, create an instance of the enhanced response using the original response from the server as the proxied response.
  3. Forward the enhanced response to another servlet for processing instead of the original response that was provided by the server.

Sample subclass (overloads the response's OutputStream)

 
 //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());
    }
 }
 

Using the enhanced response subclass transparently in a servlet

 //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


Field Summary
 
Fields inherited from interface 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 Summary
HttpServletResponseProxy()
          Deprecated.  
 
Method Summary
 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.  
protected abstract  javax.servlet.http.HttpServletResponse getProxiedHttpServletResponse()
          Deprecated. Get the response that this object is supposed to proxy.
 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.  
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.servlet.http.HttpServletResponse
getHeader, getHeaderNames, getHeaders, getStatus
 
Methods inherited from interface javax.servlet.ServletResponse
getContentType, setCharacterEncoding
 

Constructor Detail

HttpServletResponseProxy

public HttpServletResponseProxy()
Deprecated. 
Method Detail

getProxiedHttpServletResponse

protected abstract javax.servlet.http.HttpServletResponse getProxiedHttpServletResponse()
Deprecated. 
Get the response that this object is supposed to proxy.


addCookie

public void addCookie(javax.servlet.http.Cookie cookie)
Deprecated. 
Specified by:
addCookie in interface javax.servlet.http.HttpServletResponse

containsHeader

public boolean containsHeader(java.lang.String name)
Deprecated. 
Specified by:
containsHeader in interface javax.servlet.http.HttpServletResponse

encodeRedirectUrl

public java.lang.String encodeRedirectUrl(java.lang.String url)
Deprecated. 
Specified by:
encodeRedirectUrl in interface javax.servlet.http.HttpServletResponse

encodeURL

public java.lang.String encodeURL(java.lang.String url)
Deprecated. 
Specified by:
encodeURL in interface javax.servlet.http.HttpServletResponse

encodeRedirectURL

public java.lang.String encodeRedirectURL(java.lang.String url)
Deprecated. 
Specified by:
encodeRedirectURL in interface javax.servlet.http.HttpServletResponse

encodeUrl

public java.lang.String encodeUrl(java.lang.String url)
Deprecated. 
Specified by:
encodeUrl in interface javax.servlet.http.HttpServletResponse

setDateHeader

public void setDateHeader(java.lang.String name,
                          long date)
Deprecated. 
Specified by:
setDateHeader in interface javax.servlet.http.HttpServletResponse

sendError

public void sendError(int sc)
               throws java.io.IOException
Deprecated. 
Specified by:
sendError in interface javax.servlet.http.HttpServletResponse
Throws:
java.io.IOException

sendError

public void sendError(int sc,
                      java.lang.String msg)
               throws java.io.IOException
Deprecated. 
Specified by:
sendError in interface javax.servlet.http.HttpServletResponse
Throws:
java.io.IOException

sendRedirect

public void sendRedirect(java.lang.String location)
                  throws java.io.IOException
Deprecated. 
Specified by:
sendRedirect in interface javax.servlet.http.HttpServletResponse
Throws:
java.io.IOException

setStatus

public void setStatus(int sc)
Deprecated. 
Specified by:
setStatus in interface javax.servlet.http.HttpServletResponse

setStatus

public void setStatus(int sc,
                      java.lang.String sm)
Deprecated. 
Specified by:
setStatus in interface javax.servlet.http.HttpServletResponse

setHeader

public void setHeader(java.lang.String name,
                      java.lang.String value)
Deprecated. 
Specified by:
setHeader in interface javax.servlet.http.HttpServletResponse

setIntHeader

public void setIntHeader(java.lang.String name,
                         int value)
Deprecated. 
Specified by:
setIntHeader in interface javax.servlet.http.HttpServletResponse

addIntHeader

public void addIntHeader(java.lang.String name,
                         int value)
Deprecated. 
Specified by:
addIntHeader in interface javax.servlet.http.HttpServletResponse

addHeader

public void addHeader(java.lang.String name,
                      java.lang.String value)
Deprecated. 
Specified by:
addHeader in interface javax.servlet.http.HttpServletResponse

addDateHeader

public void addDateHeader(java.lang.String name,
                          long date)
Deprecated. 
Specified by:
addDateHeader in interface javax.servlet.http.HttpServletResponse

getCharacterEncoding

public java.lang.String getCharacterEncoding()
Deprecated. 
Specified by:
getCharacterEncoding in interface javax.servlet.ServletResponse

getOutputStream

public javax.servlet.ServletOutputStream getOutputStream()
                                                  throws java.io.IOException
Deprecated. 
Specified by:
getOutputStream in interface javax.servlet.ServletResponse
Throws:
java.io.IOException

getWriter

public java.io.PrintWriter getWriter()
                              throws java.io.IOException
Deprecated. 
Specified by:
getWriter in interface javax.servlet.ServletResponse
Throws:
java.io.IOException

setContentLength

public void setContentLength(int len)
Deprecated. 
Specified by:
setContentLength in interface javax.servlet.ServletResponse

setContentType

public void setContentType(java.lang.String type)
Deprecated. 
Specified by:
setContentType in interface javax.servlet.ServletResponse

setBufferSize

public void setBufferSize(int size)
Deprecated. 
Specified by:
setBufferSize in interface javax.servlet.ServletResponse

getBufferSize

public int getBufferSize()
Deprecated. 
Specified by:
getBufferSize in interface javax.servlet.ServletResponse

flushBuffer

public void flushBuffer()
                 throws java.io.IOException
Deprecated. 
Specified by:
flushBuffer in interface javax.servlet.ServletResponse
Throws:
java.io.IOException

isCommitted

public boolean isCommitted()
Deprecated. 
Specified by:
isCommitted in interface javax.servlet.ServletResponse

reset

public void reset()
Deprecated. 
Specified by:
reset in interface javax.servlet.ServletResponse

setLocale

public void setLocale(java.util.Locale loc)
Deprecated. 
Specified by:
setLocale in interface javax.servlet.ServletResponse

getLocale

public java.util.Locale getLocale()
Deprecated. 
Specified by:
getLocale in interface javax.servlet.ServletResponse

resetBuffer

public void resetBuffer()
Deprecated. 
Clears the content of the underlying buffer in the response without clearing headers or status code.

Specified by:
resetBuffer in interface javax.servlet.ServletResponse
Throws:
java.lang.IllegalStateException - if the response has already been committed
Since:
2.3

getResponse

public javax.servlet.ServletResponse getResponse()
Deprecated. 

IBM WebSphere Application ServerTM
Release 8