Class HttpServletResponseProxy

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

public abstract class HttpServletResponseProxy extends Object implements javax.servlet.http.HttpServletResponse
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);
    }
 }
 
  • 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

    Constructors
    Constructor
    Description
    Deprecated.
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addCookie(javax.servlet.http.Cookie cookie)
    Deprecated.
     
    void
    addDateHeader(String name, long date)
    Deprecated.
     
    void
    addHeader(String name, String value)
    Deprecated.
     
    void
    addIntHeader(String name, int value)
    Deprecated.
     
    boolean
    Deprecated.
     
    Deprecated.
     
    Deprecated.
     
    Deprecated.
     
    Deprecated.
     
    void
    Deprecated.
     
    int
    Deprecated.
     
    Deprecated.
     
    Deprecated.
     
    javax.servlet.ServletOutputStream
    Deprecated.
     
    javax.servlet.ServletResponse
    Deprecated.
     
    Deprecated.
     
    boolean
    Deprecated.
     
    void
    Deprecated.
     
    void
    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, String msg)
    Deprecated.
     
    void
    sendRedirect(String location)
    Deprecated.
     
    void
    setBufferSize(int size)
    Deprecated.
     
    void
    Deprecated.
     
    void
    Deprecated.
     
    void
    setDateHeader(String name, long date)
    Deprecated.
     
    void
    setHeader(String name, String value)
    Deprecated.
     
    void
    setIntHeader(String name, int value)
    Deprecated.
     
    void
    Deprecated.
     
    void
    setStatus(int sc)
    Deprecated.
     
    void
    setStatus(int sc, String sm)
    Deprecated.
     

    Methods inherited from class java.lang.Object

    equals, 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 Details

    • HttpServletResponseProxy

      public HttpServletResponseProxy()
      Deprecated.
  • Method Details

    • addCookie

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      public String getCharacterEncoding()
      Deprecated.
      Specified by:
      getCharacterEncoding in interface javax.servlet.ServletResponse
    • getOutputStream

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

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

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

      public void setContentType(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 IOException
      Deprecated.
      Specified by:
      flushBuffer in interface javax.servlet.ServletResponse
      Throws:
      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(Locale loc)
      Deprecated.
      Specified by:
      setLocale in interface javax.servlet.ServletResponse
    • getLocale

      public 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:
      IllegalStateException - if the response has already been committed
      Since:
      2.3
    • getResponse

      public javax.servlet.ServletResponse getResponse()
      Deprecated.