Servlets are supported in nearly all web servers, from Apache to Zeus. Some web servers support servlets right out of the box. We call this type of server a Standalone Servlet Engine. Other web servers require a third-party plug-in to support servlets. We call the servlet-enabling plug-in an Add-on Servlet Engine. Finally, if you want to write your own server with servlet support, you can use what’s called an Embeddable Servlet Engine.
NEW: I’ve added a section for JavaServer Pages (JSP) plug-in engines.
This page is a compiled list of the most frequently used servlet engines. If your favorite engine isn’t listed, please write engines-idea at servlets dot com.
Standalone Servlet Engines
A standalone servlet engine is a server that includes built-in support for servlets. Such an engine has the advantage that everything works right out of the box. One disadvantage, however, is that you have to wait for a new release of the web server to get the latest servlet support.
- The Tomcat Server, from Project Jakarta (Updated!)
- The open source reference implementation for servlets and JSPs. Always supports the latest Servlet API revision. It’s written entirely in Java. Source code is available under the excellent (better than GPL) Apache license as part of Project Jakarta. It’s by far the most popular servlet engine.
- IBM’s WebSphere Application Server
- A plug-in that’s part of an application server. It supports the full Servlet API on several popular web servers on several popular operating systems. Includes support for JSP. $795 Standard Edition, $6,000 Advanced Edition.
- BEA Weblogic Application Server
- A high-end server written entirely in Java that supports servlets, among other things. Formerly Weblogic’s Tengah Application Server. $4,000.
- Caucho’s Resin Server
- Adobe’s JRun Web Server
- Although it gained prominence as a plug-in (see below), JRun also includes a full standalone web server and now J2EE application server. Lets you run a different virtual machine per virtual host if you need. JRun is free for development, testing, and non-commercial deployment and contains the full feature set including JSP.
- Orion Application Server
- A pure-Java web server that supports servlets and JSPs, along with EJB, JTA, JMS, JNDI, JDBC, RMI/IIOP, XML/XSL, and WAP. Will be a commercial product but free for non-commercial use.
- Oracle Application Server
- Oracle 8i and 9i the Oracle Application Server have built-in support for servlets. Check out their JDeveloper tool if you plan to go this route. No pricing information seemed readily available.
- ATG Dynamo Application Server
- An application server from ATG (Art Technology Group) written in Java with support for servlets. Free evaluation. Contact for pricing.
- Pramati J2EE Server
- A high-end server and development environment based on J2EE technologies. They don’t say, but it appears to be written in Java. At least it’s available on all the major platforms. Free 30 day evaluation; $1,000 for the Developer Studio; $8,000 per CPU for deployment; 18% additional per annum for support.
- Borland AppServer
- Borland AppServer 4 includes support for J2EE including servlets and JSP. Pricing appears to be $895 per developer and $8,500 per CPU for deployment. Check out their corp sales web site for more information. An evaluation download is available.
- Jetty Server
- An open source web server written in 100% Java designed to stand alone or be embedded (thus shown again below). Supports Servlet API 2.2 and JSP 1.1 with HTTP/1.1. Also EJBs via a JBoss integration module. No fee for use as it’s distributed under the Open Source Artistic license.
- The World Wide Web Consortium’s Jigsaw Server
- A full-featured web server written in Java that serves as the reference HTTP/1.1 implementation. Free.
- Zeus Web Server
- The web server commonly considered the fastest available, now with servlet support. $1699 per machine.
- iPlanet (Netscape) Web Server Enterprise Edition
- The Sun|Netscape Alliance released the iPlanet Web Server Enterprise Edition (iWS) 4.0. This is the upgrade from Netscape Enterprise Server 3.x. It supports Servlet API 2.1 that should be really good. They’re so proud of their servlet implementation that in the FAQ question “Aren’t there several freeware contenders?” their answer is “When measured against freeware competitors like Apache and bundled products like Microsoft IIS, iPlanet Web Server 4.0 demonstrates an unparalleled Java implementation and considerable performance advantages”. $1495 per CPU. See the Programmer’s Guide to Servlets in Enterprise Server 4.0, especially the API Clarifications Appendix.
- iPlanet (Netscape) Web Server Enterprise Edition for Linux
- The Sun|Netscape Alliance has an alpha of the iPlanet Web Server Enterprise Edition (iWS) 4.1 for Linux. It supports Servlet API 2.2 (except for WAR files) and JSP 1.1PR1. It’s not clear if there are 4.1 alphas for other platforms.
- Netscape Enterprise Server 3.5.1 and 3.6
- The most popular web server to provide built-in servlet support. Unfortunately, NES 3.x supports only the early Servlet API 1.0 and suffers from a number of bugs so significant it’s almost unusable. Users of NES 3.x should upgrade to iPlanet 4.0 (above) or use an add-on servlet engine. $1295 per CPU.
- GemStone/J Application Server
- The GemStone/J Application Server supports servlets and JSPs. The base technology is New Atlanta’s ServletExec, but GemStone/J adds multi-process support and automatic HTTP session state distribution among multiple JVMs running servlets. For pricing, call 800-243-9369 or email firstname.lastname@example.org. If you are quoted a price, let me know and I’ll post it here.
- Gefion Software’s LiteWebServer (Updated!)
- LiteWebServer (LWS) 3.0 is based on Apache Tomcat code, tweaked and extended for easier installation and management. The additional code is released under a BSD-style open source license. LWS consists of a set of modules that can be installed separately, so you only install and manage exactly the features you need. The Base Module provides basic web server features (HTTP/1.1 support) and support for the Servlet API. Add-on modules provide additional features, such as JSP support. The bundled JustGetIt module manager application makes it extremely easy to install, upgrade or remove modules.
- A commerical web server written in Java, announced at JavaOne ’99. The company says it “provides linear scalability for Java servlets”. There’s a whitepaper on its architecture. Supports Servlet API 2.0 with 2.1 coming in the last quarter of ’99 along with JSP 1.0. Their slogan is “J-Star, for web sites that must scale and cannot fail”. 🙂 They say to call for pricing and release information.
- M5 Web Server
- A commerical web server written in Java. Supports servlets. Its security model is appealing: SecurityManager sandboxes and supports throttling by virtual server (limiting denial of service attacks). I also like its ability to compress output according to configurable rules! 15 day evaluation. Just $95.
- Servertec’s iServer
- A small web and application server written in Java. Supports servlets, JSPs, and HTTP/1.1. Also Server Gateways, SSL, CGI, SSI, clustering, and Web-based admin. Can use a database for security controls and server logs. Preview release is free, standard server is $100, enterprise server (with fail-over, clustering, etc) is $250. Site-wide licenses of binary and source versions are available.
- Lotus’s Domino Go WebServer
- A popular web server with support for servlets. Works with most platforms. $540.
- Paperclips Java Servlet Server 2.0
- A free web server to run servlet. Written in Java; provided with source. Version 2.1 will be GPL’d.
- jo! Web Server
- Java-based web server that supports Servlet API 2.2, JSP 1.0, and HTTP 1.1. Requires JDK 1.2. The server is released under what appears to be an Apache-style license. The JSP executor is GPL.
- KonaSoft Enterprise Server
- A Java application server with support for servlets. $4995 for 100-user version.
- NGASI (Next Generation Application Server)
- Previously called “ELSE”, and before that “JAWS”. A low priced servlet engine that supports Servlet API 2.2 and JSP 1.1 and is optimized to support many virtual hosts and contexts on one or more CPUs. A license for use without support is just $99 for up to 1000 contexts, and with support is $499.
- Avenida Web Server
- A small web server built around the servlet architecture.
- A small web server written in Java. HTML administration. Free. Includes email support.
- A small web server written in Java “based almost entirely upon servlets”. Property file driven. Available under the Gnu Public License.
- WebEasy WEASEL Application Server
- Contact for information.
- Tandem’s iTP WebServer
- A web server with servlet support for those with Himalaya systems. Contact for pricing.
- Novocode’s NetForge
- A web server written in Java. Free evaluation, free for non-commercial use. $80.
- An open source Java application server. Created by Lutris, now hosted by ObjectWeb.. It supports HTML, XHTML, WML, cHTML, VoiceXML and any other XML DTD/schema by XMLC, a JDBC O/R mapping tool and IDE plugins with wizards for Netbeans, Eclipse, Jbuilder and Jdeveloper. It can also work as add-on for Apache, iPlanet and IIS with connector modules. The integrated XMLC-based MVC-2 library “Barracuda” enables model-view-controller based development
of servlet applications. Free under the LGPL. Commercial support and services can be purchased.
Add-on Servlet Engines
An add-on servlet engine functions as a plug-in to an existing server–it adds servlet support to a server that was not originally designed with servlets in mind. Add-on servlet engines have been written for many servers including Apache, Netscape’s FastTrack Server and Enterprise Server, Microsoft’s Internet Information Server and Personal Web Server, O’Reilly’s WebSite, Lotus Domino’s Go Webserver, StarNine’s WebSTAR, and Apple’s AppleShareIP. This type of engine acts as a stopgap solution until a future server release incorporates servlet support. A plug-in also can be used with a server that provides a poor or outdated servlet implementation.
- The Tomcat Server, from Project Jakarta
- Tomcat (more information above) also runs as an Apache module, with work being done to work with Netscape, IIS, and others. Plus, since the project is open source, if your server isn’t listed, it’s only a simple matter of programming…
- Java-Apache Project’s JServ Module
- A servlet engine that adds servlet support to the extremely popular Apache server. The 1.1 release supports Servlet API 2.0. This product has been deprecated in favor of Tomcat but it’s listed here for completeness. Free, with source.
- Allaire’s JRun Web Server
- A plug-in designed to support the full Servlet API on all the popular web servers on all the popular operating systems! The latest version includes a simple web server for development purposes. JRun is free for development, testing, and non-commercial deployment and contains the full feature set.
- New Atlanta’s ServletExec
- A plug-in designed to support the full Servlet API on all the popular web servers on all the popular operating systems. Includes support for JSP. $395.
- An open source Java application server. Sponsored by Lutris (now out of business). Supports Servlet API 2.2 and JSP 1.1. Has build-in XMLC and WML support. Works as an add-on for Apache, iPlanet/Netscape, and IIS. Free. Commercial support can be purchased.
- Servertec’s iServer
- iServer (more information above) also works as a plug-in for Apache, Netscape, IIS, and AOL Server.
- Unicom’s Servlet CGI Development Kit
- A framework that supports servlets on top of CGI What it lacks in efficiency it makes up for in ubiquity, and creativity. Free.
- Gefion Software’s WAICoolRunner
- A plug-in that supports most of the Servlet API on Netscape’s FastTrack Server and Enterprise Server versions 3.x, written in Java using Nescape’s WAI interface. Free. The author Hans Bergsten reports that the plug-in does not work on iPlanet 4.0 “due to lack of WAI support in iPlanet 4.0 (it’s no longer bundled and requires you to purchase the Inprise ORB, making a free servlet container add-on relying on it kind of a moot point)”. This proves why you should be wary of building on vendor-specific technologies. What was free might start costing money.
Embeddable Servlet Engines
An embeddable engine is generally a lightweight servlet deployment platform that can be embedded in another application. The application becomes the true server.
- The Tomcat Server, from Project Jakarta
- Tomcat (more information above) also works as an embedded engine. The docs aren’t detailed, and there may be some small bugs since not many people use the server this way, but it’s definitely possible.
- Servertec’s iServer
- iServer (more information above) also works as an embeddable engine; license starts at $1,500 US to embed the product royalty free within an application.
- Acme Acme.Serve
- Jef Poskanzer’s simple web server that runs servlets “more of less compatible” with the Servlet API 1.0. Free.
- Anders Kristensen’s Nexus Web Server
- A servlet runner that implements most of the Servlet API and can be easily embedded in Java applications. Free, but the server can be used only for non-commercial use.
- Paralogic’s Web Core Embeddable Server
- A free but unsupported embeddable web server written in Java. It incorporates parts of Acme.Serve. Free.
- Jetty Server
- (Please see the earlier listing in the “Standalone” section)
Embeddable JSP Engines
A JSP embeddable engine provides support for JSP in a web server that already supports servlets.
- This popular open source JSP engine lets you run JSPs on almost any web server. The project was started by Vincent Partington, but after he gave up active development many others stepped in and as of October 1999 have released version 1.0. It supports JSP 1.0 on top of Servlet API 2.0 or 2.1. (Support on API 2.0 won’t be complete as it’s not possible.) Free under the GPL.
- Formerly known as Sator, this engine supports JSP 1.1 atop Servlet API 2.0 or later. You may wonder how that can work since JSP 1.0 and 1.1 depend on Servlet API 2.1. The answer is that SJSP on top of Servlet API 2.0 doesn’t support JSP forward and include functionality. They also have a version that supports JSP 0.92 legacy code. Free for development, contact for commercial use. Commercial users get source.
- David Creemer’s experimental JSP engine. Includes a program that converts .jsp files to .java servlets directly. David claims zJSP is intended just for him to play with JSP, but maybe you want to play too? Free.