|
|
Overview of Servlets |
Thejavax.servletpackage 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
Servletinterface. All servlets implement this interface, either directly or, more commonly, by extending a class that implements it such as
HttpServlet![]()
The
Servletinterface 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.
ServletRequestandServletResponseare interfaces defined by thejavax.servletpackage.
The ServletRequest Interface
The
ServletRequestinterface 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
ServletRequestinterface allow the servlet to retrieve more protocol-specific data. For example, theHttpServletRequestinterface contains methods for accessing HTTP-specific header information.
The ServletResponse Interface
The
ServletResponseinterface 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 a
Writerthrough which the servlet can send the reply data.Interfaces that extend the
ServletResponseinterface give the servlet more protocol-specific capabilities. For example, theHttpServletResponseinterface 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 |