Overview of Servlets |
Thejavax.servlet
package provides interfaces and classes for writing servlets. The architecture of the package is described below.
The Servlet Interface
The central abstraction in the Servlet API is the
Servlet
interface. All servlets implement this interface, either directly or, more commonly, by extending a class that implements it such asHttpServlet
The
Servlet
interface declares, but does not implement, methods that manage the servlet and its communications with clients. Servlet writers provide some or all of these methods when developing a servlet.
Client Interaction
When a servlet accepts a call from a client, it receives two objects:
- A
ServletRequest
, which encapsulates the communication from the client to the server.
- A
ServletResponse
, which encapsulates the communication from the servlet back to the client.
ServletRequest
andServletResponse
are interfaces defined by thejavax.servlet
package.
The ServletRequest Interface
The
ServletRequest
interface allows the servlet access to:
- Information such as the names of the parameters passed in by the client, the protocol (scheme) being used by the client, and the names of the remote host that made the request and the server that received it.
- The input stream,
ServletInputStream
. Servlets use the input stream to get data from clients that use application protocols such as the HTTP POST and PUT methods.Interfaces that extend
ServletRequest
interface allow the servlet to retrieve more protocol-specific data. For example, theHttpServletRequest
interface contains methods for accessing HTTP-specific header information.
The ServletResponse Interface
The
ServletResponse
interface gives the servlet methods for replying to the client. It:
- Allows the servlet to set the content length and MIME type of the reply.
- Provides an output stream,
ServletOutputStream
, and aWriter
through which the servlet can send the reply data.Interfaces that extend the
ServletResponse
interface give the servlet more protocol-specific capabilities. For example, theHttpServletResponse
interface contains methods that allow the servlet to manipulate HTTP-specific header information.
Additional Capabilities of HTTP Servlets
The classes and interfaces described above make up a basic Servlet. HTTP servlets have some additional objects that provide session-tracking capabilities. The servlet writer can use these APIs to maintain state between the servlet and the client that persists across multiple connections during some time period. HTTP servlets also have objects that provide cookies. The servlet writer uses the cookie API to save data with the client and to retrieve this data.
Overview of Servlets |