A servlet is a Java technology based web component,
managed by a container, that generates dynamic
content. Like other Java-based components, servlets
are platform independent Java classes that are
compiled to platform neutral bytecode that can
be loaded dynamically into and run by a Java
enabled web server. Containers, sometimes called
servlet engines, are web server extensions that
provide servlet functionality. Servlets interact
with web clients via a request/response paradigm
implemented by the servlet container.
In functionality, servlets lie somewhere between
Common Gateway Interface (CGI) programs and
proprietary server extensions such as the Netscape
Server API (NSAPI) or Apache Modules. Servlets
have the following advantages over other server
• They are generally much faster than CGI scripts
because a different process model is used.
• They use a standard API that is supported
by many web servers.
• They have all the advantages of the Java programming
language, including ease of development and
• They can access the large set of APIs available
for the Java platform.