com.ibm.websphere.servlet.response

Class HttpServletResponseProxy

  • java.lang.Object
    • 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
    • Method Summary

      Methods 
      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. 
       
      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.5