Class HttpServletResponseProxy

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

public abstract class HttpServletResponseProxy extends Object implements jakarta.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 jakarta.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(jakarta.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.
     
    jakarta.servlet.ServletOutputStream
    Deprecated.
     
    jakarta.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 jakarta.servlet.http.HttpServletResponse

    getHeader, getHeaderNames, getHeaders, getStatus

    Methods inherited from interface jakarta.servlet.ServletResponse

    getContentType, setCharacterEncoding
  • Constructor Details

    • HttpServletResponseProxy

      public HttpServletResponseProxy()
      Deprecated.
  • Method Details

    • addCookie

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      public void setContentType(String type)
      Deprecated.
      Specified by:
      setContentType in interface jakarta.servlet.ServletResponse
    • setBufferSize

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

      public int getBufferSize()
      Deprecated.
      Specified by:
      getBufferSize in interface jakarta.servlet.ServletResponse
    • flushBuffer

      public void flushBuffer() throws IOException
      Deprecated.
      Specified by:
      flushBuffer in interface jakarta.servlet.ServletResponse
      Throws:
      IOException
    • isCommitted

      public boolean isCommitted()
      Deprecated.
      Specified by:
      isCommitted in interface jakarta.servlet.ServletResponse
    • reset

      public void reset()
      Deprecated.
      Specified by:
      reset in interface jakarta.servlet.ServletResponse
    • setLocale

      public void setLocale(Locale loc)
      Deprecated.
      Specified by:
      setLocale in interface jakarta.servlet.ServletResponse
    • getLocale

      public Locale getLocale()
      Deprecated.
      Specified by:
      getLocale in interface jakarta.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 jakarta.servlet.ServletResponse
      Throws:
      IllegalStateException - if the response has already been committed
      Since:
      2.3
    • getResponse

      public jakarta.servlet.ServletResponse getResponse()
      Deprecated.