Extends theServletResponse
interface to provide HTTP-specific functionality in sending a response. For example, it has methods to access HTTP headers and cookies.
The servlet container creates anHttpServletRequest
object and passes it as an argument to the servlet's service methods (doGet
,doPost
, etc).
ServletResponse
SC_ACCEPTED Status code (202) indicating that a request was accepted for processing, but was not completed. | |
SC_BAD_GATEWAY Status code (502) indicating that the HTTP server received an invalid response from a server it consulted when acting as a proxy or gateway. | |
SC_BAD_REQUEST Status code (400) indicating the request sent by the client was syntactically incorrect. | |
SC_CONFLICT Status code (409) indicating that the request could not be completed due to a conflict with the current state of the resource. | |
SC_CONTINUE Status code (100) indicating the client can continue. | |
SC_CREATED Status code (201) indicating the request succeeded and created a new resource on the server. | |
SC_EXPECTATION_FAILED Status code (417) indicating that the server could not meet the expectation given in the Expect request header. | |
SC_FORBIDDEN Status code (403) indicating the server understood the request but refused to fulfill it. | |
SC_GATEWAY_TIMEOUT Status code (504) indicating that the server did not receive a timely response from the upstream server while acting as a gateway or proxy. | |
SC_GONE Status code (410) indicating that the resource is no longer available at the server and no forwarding address is known. | |
SC_HTTP_VERSION_NOT_SUPPORTED Status code (505) indicating that the server does not support or refuses to support the HTTP protocol version that was used in the request message. | |
SC_INTERNAL_SERVER_ERROR Status code (500) indicating an error inside the HTTP server which prevented it from fulfilling the request. | |
SC_LENGTH_REQUIRED Status code (411) indicating that the request cannot be handled without a defined Content-Length . | |
SC_METHOD_NOT_ALLOWED Status code (405) indicating that the method specified in the Request-Line is not allowed for the resource identified by theRequest-URI . | |
SC_MOVED_PERMANENTLY Status code (301) indicating that the resource has permanently moved to a new location, and that future references should use a new URI with their requests. | |
SC_MOVED_TEMPORARILY Status code (302) indicating that the resource has temporarily moved to another location, but that future references should still use the original URI to access the resource. | |
SC_MULTIPLE_CHOICES Status code (300) indicating that the requested resource corresponds to any one of a set of representations, each with its own specific location. | |
SC_NO_CONTENT Status code (204) indicating that the request succeeded but that there was no new information to return. | |
SC_NON_AUTHORITATIVE_INFORMATION Status code (203) indicating that the meta information presented by the client did not originate from the server. | |
SC_NOT_ACCEPTABLE Status code (406) indicating that the resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headerssent in the request. | |
SC_NOT_FOUND Status code (404) indicating that the requested resource is not available. | |
SC_NOT_IMPLEMENTED Status code (501) indicating the HTTP server does not support the functionality needed to fulfill the request. | |
SC_NOT_MODIFIED Status code (304) indicating that a conditional GET operation found that the resource was available and not modified. | |
SC_OK Status code (200) indicating the request succeeded normally. | |
SC_PARTIAL_CONTENT Status code (206) indicating that the server has fulfilled the partial GET request for the resource. | |
SC_PAYMENT_REQUIRED Status code (402) reserved for future use. | |
SC_PRECONDITION_FAILED Status code (412) indicating that the precondition given in one or more of the request-header fields evaluated to false when it was tested on the server. | |
SC_PROXY_AUTHENTICATION_REQUIRED Status code (407) indicating that the clientMUST first authenticate itself with the proxy. | |
SC_REQUEST_ENTITY_TOO_LARGE Status code (413) indicating that the server is refusing to process the request because the request entity is larger than the server is willing or able to process. | |
SC_REQUEST_TIMEOUT Status code (408) indicating that the client did not produce a requestwithin the time that the server was prepared to wait. | |
SC_REQUEST_URI_TOO_LONG Status code (414) indicating that the server is refusing to service the request because the Request-URI is longer than the server is willing to interpret. | |
SC_REQUESTED_RANGE_NOT_SATISFIABLE Status code (416) indicating that the server cannot serve the requested byte range. | |
SC_RESET_CONTENT Status code (205) indicating that the agentSHOULD reset the document view which caused the request to be sent. | |
SC_SEE_OTHER Status code (303) indicating that the response to the request can be found under a different URI. | |
SC_SERVICE_UNAVAILABLE Status code (503) indicating that the HTTP server is temporarily overloaded, and unable to handle the request. | |
SC_SWITCHING_PROTOCOLS Status code (101) indicating the server is switching protocols according to Upgrade header. | |
SC_TEMPORARY_REDIRECT Status code (307) indicating that the requested resource resides temporarily under a different URI. | |
SC_UNAUTHORIZED Status code (401) indicating that the request requires HTTP authentication. | |
SC_UNSUPPORTED_MEDIA_TYPE Status code (415) indicating that the server is refusing to service the request because the entity of the request is in a format not supported by the requested resource for the requested method. | |
SC_USE_PROXY Status code (305) indicating that the requested resourceMUST be accessed through the proxy given by the Location field. |
addCookie(Cookie cookie) Adds the specified cookie to the response. | |
addDateHeader(java.lang.String name, long date) Adds a response header with the given name and date-value. | |
addHeader(java.lang.String name, java.lang.String value) Adds a response header with the given name and value. | |
addIntHeader(java.lang.String name, int value) Adds a response header with the given name and integer value. | |
containsHeader(java.lang.String name) Returns a boolean indicating whether the named response header has already been set. | |
encodeRedirectUrl(java.lang.String url) Deprecated. As of version 2.1, use encodeRedirectURL(String url) instead | |
encodeRedirectURL(java.lang.String url) Encodes the specified URL for use in the sendRedirect method or, if encoding is not needed, returns the URL unchanged. | |
encodeUrl(java.lang.String url) Deprecated. As of version 2.1, use encodeURL(String url) instead | |
encodeURL(java.lang.String url) Encodes the specified URL by including the session ID in it, or, if encoding is not needed, returns the URL unchanged. | |
sendError(int sc) Sends an error response to the client using the specified status code and clearing the buffer. | |
sendError(int sc, java.lang.String msg) Sends an error response to the client using the specified status clearing the buffer. | |
sendRedirect(java.lang.String location) Sends a temporary redirect response to the client using the specified redirect location URL. | |
setDateHeader(java.lang.String name, long date) Sets a response header with the given name and date-value. | |
setHeader(java.lang.String name, java.lang.String value) Sets a response header with the given name and value. | |
setIntHeader(java.lang.String name, int value) Sets a response header with the given name and integer value. | |
setStatus(int sc) Sets the status code for this response. | |
setStatus(int sc, java.lang.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 usesendError(int, String) . Sets the status code and message for this response. |
Methods inherited from interface javax.servlet.ServletResponse |
flushBuffer,getBufferSize,getCharacterEncoding,getLocale,getOutputStream,getWriter,isCommitted,reset,resetBuffer,setBufferSize,setContentLength,setContentType,setLocale |
public static final intSC_CONTINUE
public static final intSC_SWITCHING_PROTOCOLS
public static final intSC_OK
public static final intSC_CREATED
public static final intSC_ACCEPTED
public static final intSC_NON_AUTHORITATIVE_INFORMATION
public static final intSC_NO_CONTENT
public static final intSC_RESET_CONTENT
public static final intSC_PARTIAL_CONTENT
public static final intSC_MULTIPLE_CHOICES
public static final intSC_MOVED_PERMANENTLY
public static final intSC_MOVED_TEMPORARILY
public static final intSC_SEE_OTHER
public static final intSC_NOT_MODIFIED
public static final intSC_USE_PROXY
Location
field.public static final intSC_TEMPORARY_REDIRECT
Location
field in the response.public static final intSC_BAD_REQUEST
public static final intSC_UNAUTHORIZED
public static final intSC_PAYMENT_REQUIRED
public static final intSC_FORBIDDEN
public static final intSC_NOT_FOUND
public static final intSC_METHOD_NOT_ALLOWED
Request-Line
is not allowed for the resource identified by theRequest-URI
.public static final intSC_NOT_ACCEPTABLE
public static final intSC_PROXY_AUTHENTICATION_REQUIRED
public static final intSC_REQUEST_TIMEOUT
public static final intSC_CONFLICT
public static final intSC_GONE
public static final intSC_LENGTH_REQUIRED
Content-Length
.public static final intSC_PRECONDITION_FAILED
public static final intSC_REQUEST_ENTITY_TOO_LARGE
public static final intSC_REQUEST_URI_TOO_LONG
Request-URI
is longer than the server is willing to interpret.public static final intSC_UNSUPPORTED_MEDIA_TYPE
public static final intSC_REQUESTED_RANGE_NOT_SATISFIABLE
public static final intSC_EXPECTATION_FAILED
public static final intSC_INTERNAL_SERVER_ERROR
public static final intSC_NOT_IMPLEMENTED
public static final intSC_BAD_GATEWAY
public static final intSC_SERVICE_UNAVAILABLE
public static final intSC_GATEWAY_TIMEOUT
public static final intSC_HTTP_VERSION_NOT_SUPPORTED
public voidaddCookie(Cookie cookie)
cookie
- the Cookie to return to the clientpublic booleancontainsHeader(java.lang.String name)
name
- the header nametrue
if the named response header has already been set;false
otherwisepublic java.lang.StringencodeURL(java.lang.String url)
For robust session tracking, all URLs emitted by a servlet should be run through this method. Otherwise, URL rewriting cannot be used with browsers which do not support cookies.
url
- the url to be encoded.public java.lang.StringencodeRedirectURL(java.lang.String url)
sendRedirect
method or, if encoding is not needed, returns the URL unchanged. The implementation of this method includes the logic to determine whether the session ID needs to be encoded in the URL. Because the rules for making this determination can differ from those used to decide whether to encode a normal link, this method is seperate from theencodeURL
method.All URLs sent to theHttpServletResponse.sendRedirect
method should be run through this method. Otherwise, URL rewriting cannot be used with browsers which do not support cookies.
url
- the url to be encoded.sendRedirect(java.lang.String)
,encodeUrl(java.lang.String)
public java.lang.StringencodeUrl(java.lang.String url)
url
- the url to be encoded.public java.lang.StringencodeRedirectUrl(java.lang.String url)
url
- the url to be encoded.public voidsendError(int sc, java.lang.String msg) throws java.io.IOException
If the response has already been committed, this method throws an IllegalStateException. After using this method, the response should be considered to be committed and should not be written to.
sc
- the error status codemsg
- the descriptive messagejava.io.IOException
- If an input or output exception occursjava.lang.IllegalStateException
- If the response was committedpublic voidsendError(int sc) throws java.io.IOException
If the response has already been committed, this method throws an IllegalStateException. After using this method, the response should be considered to be committed and should not be written to.
sc
- the error status codejava.io.IOException
- If an input or output exception occursjava.lang.IllegalStateException
- If the response was committedbefore this method callpublic voidsendRedirect(java.lang.String location) throws java.io.IOException
If the response has already been committed, this method throws an IllegalStateException. After using this method, the response should be considered to be committed and should not be written to.
location
- the redirect location URLjava.io.IOException
- If an input or output exception occursjava.lang.IllegalStateException
- If the response was committedpublic voidsetDateHeader(java.lang.String name, long date)
containsHeader
method can be used to test for the presence of a header before setting its value.name
- the name of the header to setvalue
- the assigned date valuecontainsHeader(java.lang.String)
,addDateHeader(java.lang.String, long)
public voidaddDateHeader(java.lang.String name, long date)
name
- the name of the header to setvalue
- the additional date valuesetDateHeader(java.lang.String, long)
public voidsetHeader(java.lang.String name, java.lang.String value)
containsHeader
method can be used to test for the presence of a header before setting its value.name
- the name of the headervalue
- the header valuecontainsHeader(java.lang.String)
,addHeader(java.lang.String, java.lang.String)
public voidaddHeader(java.lang.String name, java.lang.String value)
name
- the name of the headervalue
- the additional header valuesetHeader(java.lang.String, java.lang.String)
public voidsetIntHeader(java.lang.String name, int value)
containsHeader
method can be used to test for the presence of a header before setting its value.name
- the name of the headervalue
- the assigned integer valuecontainsHeader(java.lang.String)
,addIntHeader(java.lang.String, int)
public voidaddIntHeader(java.lang.String name, int value)
name
- the name of the headervalue
- the assigned integer valuesetIntHeader(java.lang.String, int)
public voidsetStatus(int sc)
sendError
method should be used instead.The container clears the buffer and sets the Location header, preserving cookies and other headers.
sc
- the status codesendError(int, java.lang.String)
public voidsetStatus(int sc, java.lang.String sm)
setStatus(int)
, to send an error with a description usesendError(int, String)
. Sets the status code and message for this response.sc
- the status codesm
- the status message