Package javax.servlet.http
Class HttpServletResponseWrapper
java.lang.Object
javax.servlet.ServletResponseWrapper
javax.servlet.http.HttpServletResponseWrapper
- All Implemented Interfaces:
HttpServletResponse
,ServletResponse
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:
-
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
ConstructorDescriptionConstructs a response adaptor wrapping the given response. -
Method Summary
Modifier and TypeMethodDescriptionvoid
The default behavior of this method is to call addCookie(Cookie cookie) on the wrapped response object.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.void
The default behavior of this method is to return addHeader(String name, String value) on the wrapped response object.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.boolean
containsHeader
(String name) The default behavior of this method is to call containsHeader(String name) on the wrapped response object.encodeRedirectUrl
(String url) Deprecated.encodeRedirectURL
(String url) The default behavior of this method is to return encodeRedirectURL(String url) on the wrapped response object.Deprecated.As of version 2.1, useencodeURL(String url)
insteadThe default behavior of this method is to call encodeURL(String url) on the wrapped response object.The default behaviour of this method is to callHttpServletResponse.getHeader(java.lang.String)
on the wrapped response object.The default behaviour of this method is to callHttpServletResponse.getHeaderNames()
on the wrapped response object.getHeaders
(String name) The default behaviour of this method is to callHttpServletResponse.getHeaders(java.lang.String)
on the wrapped response object.int
The default behaviour of this method is to callHttpServletResponse.getStatus()
on the wrapped response object.The default behaviour of this method is to callHttpServletResponse.getTrailerFields()
on the wrapped response object.void
sendError
(int sc) The default behavior of this method is to call sendError(int sc) on the wrapped response object.void
The default behavior of this method is to call sendError(int sc, String msg) on the wrapped response object.void
sendRedirect
(String location) The default behavior of this method is to return sendRedirect(String location) on the wrapped response object.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.void
The default behavior of this method is to return setHeader(String name, String value) on the wrapped response object.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.void
setStatus
(int sc) The default behavior of this method is to call setStatus(int sc) on the wrapped response object.void
Deprecated.As of version 2.1, due to ambiguous meaning of the message parameter.void
setTrailerFields
(Supplier<Map<String, String>> supplier) The default behaviour of this method is to callHttpServletResponse.setTrailerFields(java.util.function.Supplier<java.util.Map<java.lang.String, java.lang.String>>)
on the wrapped response object.Methods inherited from class javax.servlet.ServletResponseWrapper
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getOutputStream, getResponse, getWriter, isCommitted, isWrapperFor, isWrapperFor, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale, setResponse
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface javax.servlet.ServletResponse
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getOutputStream, getWriter, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale
-
Constructor Details
-
HttpServletResponseWrapper
Constructs a response adaptor wrapping the given response.- Parameters:
response
- theHttpServletResponse
to be wrapped.- Throws:
IllegalArgumentException
- if the response is null
-
-
Method Details
-
addCookie
The default behavior of this method is to call addCookie(Cookie cookie) on the wrapped response object.- Specified by:
addCookie
in interfaceHttpServletResponse
- Parameters:
cookie
- the Cookie to return to the client
-
containsHeader
The default behavior of this method is to call containsHeader(String name) on the wrapped response object.- Specified by:
containsHeader
in interfaceHttpServletResponse
- Parameters:
name
- the header name- Returns:
true
if the named response header has already been set;false
otherwise
-
encodeURL
The default behavior of this method is to call encodeURL(String url) on the wrapped response object.- Specified by:
encodeURL
in interfaceHttpServletResponse
- Parameters:
url
- the url to be encoded.- Returns:
- the encoded URL if encoding is needed; the unchanged URL otherwise.
-
encodeRedirectURL
The default behavior of this method is to return encodeRedirectURL(String url) on the wrapped response object.- Specified by:
encodeRedirectURL
in interfaceHttpServletResponse
- Parameters:
url
- the url to be encoded.- Returns:
- the encoded URL if encoding is needed; the unchanged URL otherwise.
- See Also:
-
encodeUrl
Deprecated.As of version 2.1, useencodeURL(String url)
insteadThe default behavior of this method is to call encodeUrl(String url) on the wrapped response object.- Specified by:
encodeUrl
in interfaceHttpServletResponse
- Parameters:
url
- the url to be encoded.- Returns:
- the encoded URL if encoding is needed; the unchanged URL otherwise.
-
encodeRedirectUrl
Deprecated.As of version 2.1, useencodeRedirectURL(String url)
insteadThe default behavior of this method is to return encodeRedirectUrl(String url) on the wrapped response object.- Specified by:
encodeRedirectUrl
in interfaceHttpServletResponse
- Parameters:
url
- the url to be encoded.- Returns:
- the encoded URL if encoding is needed; the unchanged URL otherwise.
-
sendError
The default behavior of this method is to call sendError(int sc, String msg) on the wrapped response object.- Specified by:
sendError
in interfaceHttpServletResponse
- Parameters:
sc
- the error status codemsg
- the descriptive message- Throws:
IOException
- If an input or output exception occurs
-
sendError
The default behavior of this method is to call sendError(int sc) on the wrapped response object.- Specified by:
sendError
in interfaceHttpServletResponse
- Parameters:
sc
- the error status code- Throws:
IOException
- If an input or output exception occurs
-
sendRedirect
The default behavior of this method is to return sendRedirect(String location) on the wrapped response object.- Specified by:
sendRedirect
in interfaceHttpServletResponse
- Parameters:
location
- the redirect location URL- Throws:
IOException
- If an input or output exception occurs
-
setDateHeader
The default behavior of this method is to call setDateHeader(String name, long date) on the wrapped response object.- Specified by:
setDateHeader
in interfaceHttpServletResponse
- Parameters:
name
- the name of the header to setdate
- the assigned date value- See Also:
-
addDateHeader
The default behavior of this method is to call addDateHeader(String name, long date) on the wrapped response object.- Specified by:
addDateHeader
in interfaceHttpServletResponse
- Parameters:
name
- the name of the header to setdate
- the additional date value- See Also:
-
setHeader
The default behavior of this method is to return setHeader(String name, String value) on the wrapped response object.- Specified by:
setHeader
in interfaceHttpServletResponse
- Parameters:
name
- the name of the headervalue
- 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
The default behavior of this method is to return addHeader(String name, String value) on the wrapped response object.- Specified by:
addHeader
in interfaceHttpServletResponse
- Parameters:
name
- the name of the headervalue
- 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
The default behavior of this method is to call setIntHeader(String name, int value) on the wrapped response object.- Specified by:
setIntHeader
in interfaceHttpServletResponse
- Parameters:
name
- the name of the headervalue
- the assigned integer value- See Also:
-
addIntHeader
The default behavior of this method is to call addIntHeader(String name, int value) on the wrapped response object.- Specified by:
addIntHeader
in interfaceHttpServletResponse
- Parameters:
name
- the name of the headervalue
- 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 interfaceHttpServletResponse
- Parameters:
sc
- the status code- See Also:
-
setStatus
Deprecated.As of version 2.1, due to ambiguous meaning of the message parameter. To set a status code usesetStatus(int)
, to send an error with a description usesendError(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 interfaceHttpServletResponse
- Parameters:
sc
- the status codesm
- the status message
-
getStatus
public int getStatus()The default behaviour of this method is to callHttpServletResponse.getStatus()
on the wrapped response object.- Specified by:
getStatus
in interfaceHttpServletResponse
- Returns:
- the current status code of the wrapped response
-
getHeader
The default behaviour of this method is to callHttpServletResponse.getHeader(java.lang.String)
on the wrapped response object.- Specified by:
getHeader
in interfaceHttpServletResponse
- 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
The default behaviour of this method is to callHttpServletResponse.getHeaders(java.lang.String)
on the wrapped response object.Any changes to the returned
Collection
must not affect thisHttpServletResponseWrapper
.- Specified by:
getHeaders
in interfaceHttpServletResponse
- 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
The default behaviour of this method is to callHttpServletResponse.getHeaderNames()
on the wrapped response object.Any changes to the returned
Collection
must not affect thisHttpServletResponseWrapper
.- Specified by:
getHeaderNames
in interfaceHttpServletResponse
- Returns:
- a (possibly empty)
Collection
of the names of the response headers - Since:
- Servlet 3.0
-
setTrailerFields
The default behaviour of this method is to callHttpServletResponse.setTrailerFields(java.util.function.Supplier<java.util.Map<java.lang.String, java.lang.String>>)
on the wrapped response object.- Specified by:
setTrailerFields
in interfaceHttpServletResponse
- Parameters:
supplier
- of trailer headers- Since:
- Servlet 4.0
-
getTrailerFields
The default behaviour of this method is to callHttpServletResponse.getTrailerFields()
on the wrapped response object.- Specified by:
getTrailerFields
in interfaceHttpServletResponse
- Returns:
- supplier of trailer headers
- Since:
- Servlet 4.0
-
encodeRedirectURL(String url)
instead