Flylib.com

Books Software

 
 
 

SRV.P.5 Providing Feedback


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:

servletapi-feedback@eng.sun.com

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.


SRV.P.6 Acknowledgments

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 numerous groups at Sun and at partner companies. Most notably the following companies and groups have gone the extra mile to help the servlet specification process: The Apache Developer Community, Art Technology Group , BEA Weblogic, Clear Ink, IBM, Gefion Software, Live Software, Netscape Communications, New Atlanta Communications, and Oracle.

And, of course, the ongoing specification review process has been extremely valuable . The many comments that we have received from both our partners and the general public have helped us to define and evolve the specification. Many thanks to all who have contributed feedback.


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 clients via a request response paradigm implemented by the servlet container. This request-response model is based on the behavior of the hypertext transfer protocol (HTTP).


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 requests , and formats MIME based responses. A servlet container also contains and manages servlets through their life cycle.

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 Thread object, to ensure that other components of the container are not negatively impacted.