Servlet Responses
In order to do anything useful, a servlet must send a response to each request that is made to it. In the case of an HTTP servlet, the response can include three components: a status code, any number of HTTP headers, and a response body.
The ServletResponse
and
HttpServletResponse
interfaces
include all the methods needed to create and manipulate a servlet’s
output. We’ve already seen that you specify the MIME type for the data
returned by a servlet using the setContentType()
method of the response
object passed into the servlet. With an HTTP servlet, the MIME type is
generally text/html
, although some
servlets return binary data: a servlet that loads a GIF file from a
database and sends it to the web browser should set a content type of
image/gif
, while a servlet that
returns an Adobe Acrobat file should set it to application/pdf
.
ServletResponse
and HttpServletResponse
each define two methods
for producing output streams, getOutputStream()
and getWriter()
. The former returns a ServletOutputStream
, which can be used for
textual or binary data. The latter returns a java.io.PrintWriter
object, which is used
only for textual output. The getWriter()
method examines the content type
to determine which charset to use, so setContentType()
should be called before
getWriter()
.
HttpServletResponse
also
includes a number of methods for handling HTTP responses . Most of these allow you to manipulate the HTTP header
fields. For example, setHeader()
,
setIntHeader()
, and setDateHeader() ...
Get Java Enterprise in a Nutshell, Third Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.