SRV.P.5 Providing Feedback
The success of the Java community process depends on your participation in the community. We welcome any and all feedback about this specification. Please e-mail your comments to:
Please note that due to the volume of feedback that we receive, you will not normally receive a reply from an engineer. However, each and every comment is read, evaluated, and archived by the specification team.
Anselm Baird-Smith, Elias Bayeh, Vince Bonfanti, Larry Cable, Robert Clark, Daniel Coward, Satish Dharmaraj, Jim Driscoll, Shel Finkelstein, Mark Hapner, Jason Hunter, Rod McChesney, Stefano Mazzocchi, Craig McClanahan, Adam Messinger, Ron Monzillo, Vivek Nagar, Kevin Osborn, Bob Pasker, Eduardo Pelegri-Lopart, Harish Prabandham, Bill Shannon, Jon S. Stevens, James Todd, Spike Washburn, and Alan Williamson have all (in no particular order other than alphabetic) provided invaluable input into the evolution of this specification. Connie Weiss, Jeff Jackson, and Mala Chandra have provided incredible management assistance in supporting and furthering the servlet effort at Sun.
This specification is an ongoing and broad effort that includes contributions from
And, of course, the ongoing specification review process has been extremely
Chapter SRV.1. Overview
Section SRV.1.1. What Is a Servlet?
Section SRV.1.2. What Is a Servlet Container?
Section SRV.1.3. An Example
Section SRV.1.4. Comparing Servlets with Other Technologies
Section SRV.1.5. Relationship to Java 2 Enterprise Edition
Section SRV.1.6. Distributable Servlet Containers
Section SRV.1.7. Changes Since Version 2.1
SRV.1.1 What Is a Servlet?
A servlet is a web component, managed by a container, that generates dynamic content. Servlets are small, platform-independent Java classes compiled to an architecture neutral bytecode that can be loaded dynamically into and run by a web server. Servlets interact with web
SRV.1.2 What Is a Servlet Container?
The servlet container, in conjunction with a web server or application server, provides the network services over which requests and responses are set, decodes MIME based
A servlet container can either be built into a host web server or installed as an add-on component to a web server via that server's native extension API. Servlet containers can also be built into or possibly installed into web-enabled application servers.
All servlet containers must support HTTP as a protocol for requests and responses, but may also support additional request/response based protocols such as HTTPS (HTTP over SSL). The minimum required version of the HTTP specification that a container must implement is HTTP/1.0. It is strongly suggested that containers implement the HTTP/1.1 specification as well.
A servlet container may place security restrictions on the environment that a servlet executes in. In a Java 2 Standard Edition 1.2 (J2SE) or Java 2 Enterprise Edition 1.2 (J2EE) environment, these restrictions should be placed using the permission architecture defined by the Java 2 platform. For example, high end application servers may limit certain actions, such as the creation of a
object, to ensure that other