Class HttpServletResponseWrapper

java.lang.Object
javax.servlet.ServletResponseWrapper
javax.servlet.http.HttpServletResponseWrapper
All Implemented Interfaces:
HttpServletResponse, ServletResponse
Direct Known Subclasses:
NoBodyResponse

public class HttpServletResponseWrapper extends ServletResponseWrapper implements HttpServletResponse
Provides a convenient implementation of the HttpServletResponse interface that can be subclassed by developers wishing to adapt the response from a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped response object.
Since:
Servlet 2.3
See Also:
  • Constructor Details

  • Method Details

    • _getHttpServletResponse

      private HttpServletResponse _getHttpServletResponse()
    • addCookie

      public void addCookie(Cookie cookie)
      The default behavior of this method is to call addCookie(Cookie cookie) on the wrapped response object.
      Specified by:
      addCookie in interface HttpServletResponse
      Parameters:
      cookie - the Cookie to return to the client
    • containsHeader

      public boolean containsHeader(String name)
      The default behavior of this method is to call containsHeader(String name) on the wrapped response object.
      Specified by:
      containsHeader in interface HttpServletResponse
      Parameters:
      name - the header name
      Returns:
      true if the named response header has already been set; false otherwise
    • encodeURL

      public String encodeURL(String url)
      The default behavior of this method is to call encodeURL(String url) on the wrapped response object.
      Specified by:
      encodeURL in interface HttpServletResponse
      Parameters:
      url - the url to be encoded.
      Returns:
      the encoded URL if encoding is needed; the unchanged URL otherwise.
    • encodeRedirectURL

      public String encodeRedirectURL(String url)
      The default behavior of this method is to return encodeRedirectURL(String url) on the wrapped response object.
      Specified by:
      encodeRedirectURL in interface HttpServletResponse
      Parameters:
      url - the url to be encoded.
      Returns:
      the encoded URL if encoding is needed; the unchanged URL otherwise.
      See Also:
    • encodeUrl

      public String encodeUrl(String url)
      Deprecated.
      As of version 2.1, use encodeURL(String url) instead
      The default behavior of this method is to call encodeUrl(String url) on the wrapped response object.
      Specified by:
      encodeUrl in interface HttpServletResponse
      Parameters:
      url - the url to be encoded.
      Returns:
      the encoded URL if encoding is needed; the unchanged URL otherwise.
    • encodeRedirectUrl

      public String encodeRedirectUrl(String url)
      Deprecated.
      As of version 2.1, use encodeRedirectURL(String url) instead
      The default behavior of this method is to return encodeRedirectUrl(String url) on the wrapped response object.
      Specified by:
      encodeRedirectUrl in interface HttpServletResponse
      Parameters:
      url - the url to be encoded.
      Returns:
      the encoded URL if encoding is needed; the unchanged URL otherwise.
    • sendError

      public void sendError(int sc, String msg) throws IOException
      The default behavior of this method is to call sendError(int sc, String msg) on the wrapped response object.
      Specified by:
      sendError in interface HttpServletResponse
      Parameters:
      sc - the error status code
      msg - the descriptive message
      Throws:
      IOException - If an input or output exception occurs
    • sendError

      public void sendError(int sc) throws IOException
      The default behavior of this method is to call sendError(int sc) on the wrapped response object.
      Specified by:
      sendError in interface HttpServletResponse
      Parameters:
      sc - the error status code
      Throws:
      IOException - If an input or output exception occurs
    • sendRedirect

      public void sendRedirect(String location) throws IOException
      The default behavior of this method is to return sendRedirect(String location) on the wrapped response object.
      Specified by:
      sendRedirect in interface HttpServletResponse
      Parameters:
      location - the redirect location URL
      Throws:
      IOException - If an input or output exception occurs
    • setDateHeader

      public void setDateHeader(String name, long date)
      The default behavior of this method is to call setDateHeader(String name, long date) on the wrapped response object.
      Specified by:
      setDateHeader in interface HttpServletResponse
      Parameters:
      name - the name of the header to set
      date - the assigned date value
      See Also:
    • addDateHeader

      public void addDateHeader(String name, long date)
      The default behavior of this method is to call addDateHeader(String name, long date) on the wrapped response object.
      Specified by:
      addDateHeader in interface HttpServletResponse
      Parameters:
      name - the name of the header to set
      date - the additional date value
      See Also:
    • setHeader

      public void setHeader(String name, String value)
      The default behavior of this method is to return setHeader(String name, String value) on the wrapped response object.
      Specified by:
      setHeader in interface HttpServletResponse
      Parameters:
      name - the name of the header
      value - the header value If it contains octet string, it should be encoded according to RFC 2047 (http://www.ietf.org/rfc/rfc2047.txt)
      See Also:
    • addHeader

      public void addHeader(String name, String value)
      The default behavior of this method is to return addHeader(String name, String value) on the wrapped response object.
      Specified by:
      addHeader in interface HttpServletResponse
      Parameters:
      name - the name of the header
      value - the additional header value If it contains octet string, it should be encoded according to RFC 2047 (http://www.ietf.org/rfc/rfc2047.txt)
      See Also:
    • setIntHeader

      public void setIntHeader(String name, int value)
      The default behavior of this method is to call setIntHeader(String name, int value) on the wrapped response object.
      Specified by:
      setIntHeader in interface HttpServletResponse
      Parameters:
      name - the name of the header
      value - the assigned integer value
      See Also:
    • addIntHeader

      public void addIntHeader(String name, int value)
      The default behavior of this method is to call addIntHeader(String name, int value) on the wrapped response object.
      Specified by:
      addIntHeader in interface HttpServletResponse
      Parameters:
      name - the name of the header
      value - the assigned integer value
      See Also:
    • setStatus

      public void setStatus(int sc)
      The default behavior of this method is to call setStatus(int sc) on the wrapped response object.
      Specified by:
      setStatus in interface HttpServletResponse
      Parameters:
      sc - the status code
      See Also:
    • setStatus

      public void setStatus(int sc, String sm)
      Deprecated.
      As of version 2.1, due to ambiguous meaning of the message parameter. To set a status code use setStatus(int), to send an error with a description use sendError(int, String)
      The default behavior of this method is to call setStatus(int sc, String sm) on the wrapped response object.
      Specified by:
      setStatus in interface HttpServletResponse
      Parameters:
      sc - the status code
      sm - the status message
    • getStatus

      public int getStatus()
      The default behaviour of this method is to call HttpServletResponse.getStatus() on the wrapped response object.
      Specified by:
      getStatus in interface HttpServletResponse
      Returns:
      the current status code of the wrapped response
    • getHeader

      public String getHeader(String name)
      The default behaviour of this method is to call HttpServletResponse.getHeader(String) on the wrapped response object.
      Specified by:
      getHeader in interface HttpServletResponse
      Parameters:
      name - the name of the response header whose value to return
      Returns:
      the value of the response header with the given name, or null if no header with the given name has been set on the wrapped response
      Since:
      Servlet 3.0
    • getHeaders

      public Collection<String> getHeaders(String name)
      The default behaviour of this method is to call HttpServletResponse.getHeaders(String) on the wrapped response object.

      Any changes to the returned Collection must not affect this HttpServletResponseWrapper.

      Specified by:
      getHeaders in interface HttpServletResponse
      Parameters:
      name - the name of the response header whose values to return
      Returns:
      a (possibly empty) Collection of the values of the response header with the given name
      Since:
      Servlet 3.0
    • getHeaderNames

      public Collection<String> getHeaderNames()
      The default behaviour of this method is to call HttpServletResponse.getHeaderNames() on the wrapped response object.

      Any changes to the returned Collection must not affect this HttpServletResponseWrapper.

      Specified by:
      getHeaderNames in interface HttpServletResponse
      Returns:
      a (possibly empty) Collection of the names of the response headers
      Since:
      Servlet 3.0