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( ) ...
Get Java Enterprise in a Nutshell, Second 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.