Inside Java

Servlet Engines


 

Servlets

Basically, a servlet is a .class file that can be "plugged" into a Java enabled web server. A servlet extends the javax.servlet package. More information can be found on Javasoft.
Running a servlet requires a servlet engine on the web server.
This articles explains what a servlet engine is, and compares some servlet engines.

Servlets Engines

A servlet engine does the following tasks:

The .class file is not loaded again until the servlet changes. Usually, you have to restart the server when the .class file is modified, but now, some servlet engines can reload the .class when it's changed. This is a very nice feature.

The servlet stays in memory, and the execution is very fast. Compared to CGI, the web server doesn't need to start a shell or run perl to perform the execution.

Currently the servers written in Java with full built in servlet engine are Java Server and Netforge. Servlets are core components for them.
But, there are commercial and freeware web servers that have built-in support for the Java Servlet API.
Here is a list of servlet engines, provided by Sun on jserv.javasoft.com:

Third Party Server Implementations:

Third Party Server Add-Ons

Server Support Via JSDK

Key features

Some features are really important in a given implementation of a servlet engine. According to us, they are:

Feature Comparison

 

Feature

Java Web Server

ServletExec
1.0

JRun 2.0

Lotus Domino Go WebServer

Servlet Express

JSDK Apache project

Servlet Chains

Ok

Ok

Ok

-

Ok

-
Servlet Filters

Ok

Ok

Ok

-

Ok

-
Reloading Servlets

Ok

Ok

Ok

-

Ok

-
.zip/.jar Servlet archives

Ok

Ok

Ok

-

Ok

-
.zip/.jar Auto Reload

Ok

Ok

Ok

-

-

-
Virtual Servers

-

Ok

Ok

Ok

-

Ok

Tag

Ok

Ok

Ok

-

-

Ok

 

 

This page was last updated 06 March 1998