File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Servlets and the fly likes Best Container Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Servlets
Bookmark "Best Container" Watch "Best Container" New topic
Author

Best Container

Manish Hatwalne
Ranch Hand

Joined: Sep 22, 2001
Posts: 2579

Which is the best container/engine for servlets/JSP?
Many ppl have diff opinions, any insight?
TIA,
- Manish
Anonymous
Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
IMHO You should takeTomcat 4.0!
It implements the Servlet 2.3 and JSP 1.2 specifications and it's free
Doug Wang
Ranch Hand

Joined: Oct 05, 2001
Posts: 445
I would like to vote Tomcat4.0 too.
But for commercial use, Tomcat alone is not enough.
Regards, doug
[ April 24, 2002: Message edited by: Doug Wang ]

Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep
arun mahajan
Ranch Hand

Joined: Dec 07, 2001
Posts: 305
It all depends upon individual choice..but perhaps if someone is looking ofr a freeware Tomcat is the choice..but in commercial one we are using JRUN and found quite comfertable for commercial usuage...
regards,
Arun
Jessica Sant
Sheriff

Joined: Oct 17, 2001
Posts: 4313

... and just a plug for my app server -->
Check out the HP Application Server -- It also implements the JSP 1.2 and Servlet 2.3 specs... and it too is FREE for development or production use. -- Plus is covers EJB 2.0 and other J2EE 1.3 specs. You can also scale it down to only use JSPs and Servlet to make the footprint of the application server smaller.


- Jess
Blog:KnitClimbJava | Twitter: jsant | Ravelry: wingedsheep
Rick Salsa
Ranch Hand

Joined: Jul 17, 2001
Posts: 173
Nobody has mentioned Jetty.
/rick
arun sahni
Ranch Hand

Joined: Jan 16, 2002
Posts: 91
I think for learning Tomcat is easy to use and learn. Once you understand then any commercial server with specs compliant is not difficult to use.


Arun Sahni<br />SCJP2,SWCD,<br />BEA Certified Specialist: Server <br />JCert Enterprise Developer for BEA.
Eric Peterson
Ranch Hand

Joined: Jan 08, 2002
Posts: 31
You can't really go wrong with Tomcat since it is the official implementation of the Servlet 2.3 and JSP 1.2 specs but another engine that supports the latest specs is Caucho's Resin. It has very good XML/XSL/XSLT support and some other nice features such as automatic recompilation of servlets and beans when their source changes.


Eric Peterson
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61606
    
  67

The answer, of course, depends upon your needs.
At home for my "hobbyist" work, I use tomcat. At work, we use Caucho Resin. Resin seems pretty fast and is particularly good at figuring out when it needs to restart itself because of a change in its environment (new .war file dropped into the appropriate directory, for example).
bear
[Added:]
P.S. Eric and I apparently had the same thoughts at the same time!
[ April 24, 2002: Message edited by: Bear Bibeault ]

[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
Manish Hatwalne
Ranch Hand

Joined: Sep 22, 2001
Posts: 2579

I have also started my initial development with Tomcat, and quite frankly I liked it. Earlier for servlets (almost 1 year ago) I had used JRun, which was also good at that time.
Recently during an interview I was asked abt weblogic, websphere etc. I tried discussing/reasoning with that person abt Tomcat, also the fact that most of my clients were reluctant to shell out that kind of money when such a good server is available in tomcat, but in vain.... (They wanted someone who "knows" weblogic)
How much difference does it really make? Moreover, is it really difficult to learn and use weblogic or sth similar once you know servlets/JSP well and comfortable with sth like Tomcat?
TIA,
- Manish
Gerry Giese
Ranch Hand

Joined: Aug 02, 2001
Posts: 247
Caucho.com's Resin is great for development, and IMO easier to use than Tomcat. Haven't used it in production but I suspect it would run great. They have an EJB engine, including CMP, that is maturing nicely and is probably good for EJB work. They use a different protocol for communicating with EJBs, but Caucho claims it's a lot faster. Resin has just passed the 1000th paid customer mark, and some big names use it, like AltaVista. Oh, and their XML parser is about the fastest you can find ANYWHERE! Check it out if nothing else.


CJP (Certifiable Java Programmer), AMSE (Anti-Microsoft Software Engineer)
Author of Posts in the Saloon
Doug Wang
Ranch Hand

Joined: Oct 05, 2001
Posts: 445
Hi buddies,
How do you compare Resin with JBoss application server?
Thanks.
Greg Whelan
Ranch Hand

Joined: May 18, 2000
Posts: 52
I switched from using Tomcat to Orion for JSP/Servlet development just because of Orion's ability to automatically (and quickly) redeploy an updated war.
mustang india
Ranch Hand

Joined: Feb 05, 2002
Posts: 60
Did anybody try <a href="http://www.pramati.com">Pramati Server.</a>
Ashik Uzzaman
Ranch Hand

Joined: Jul 05, 2001
Posts: 2370

Yes Tomcat 4 is really good. I would like Tomcat very much if it could be used as an EJB container also. As far industry practice, weblogic server is a better choice for commercial purpose.


Ashik Uzzaman
Senior Member of Technical Staff, Salesforce.com, San Francisco, CA, USA.
Paulo Lima
Greenhorn

Joined: Apr 04, 2002
Posts: 10
Here are some interesting Servlets/Jsp Containers:
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. Version 3.2 has been released and 4.0 is in late beta. It's undergoing rapid development (you can help out if you'd like) for future versions.
Sun's JavaServer Web Development Kit (JSWDK)
The previous reference implementation for servlets and JSPs. The code for the JSWDK has been released to become the Tomcat server listed above. You can download the JSWDK 1.0.x release for free and redistribute the class files as part of your product for free as well. It's currently more stable than the Tomcat server which is undergoing rapid development for an upcoming release.
Sun's Java Web Server
The previous (unofficial) reference implementation for how a servlet engine should support servlets. Written entirely in Java (except for two native code libraries that enhance its functionality but are not needed). Free 30-day evaluation. Free educational license. $295 commercial. Officially "end of lifed" in favor of Netscape products due to the Sun-Netscape Alliance.
Caucho's Resin Server
A servlet engine that prides itself on performance. Works standalone or coupled with Apache, IIS, or iPlanet/Netscape. It can also be used to add JSP support to any JSDK 2.1 engine. It integrates XML, XSL, and JavaScript inside the engine. Resin 2.0.2 supports Servlet API 2.3 and JSP 1.2. It's available under a "Developer Source" License, where you can see and customize the source but have to pay for commercial deployment. Prices start at $500 per server.
Oracle Application Server
Oracle 8i and the Oracle Application Server have built-in support for servlets and a downloadable JSP 1.0 engine. Check out their JDeveloper 2.0 tool if you plan to go this route. No pricing information seemed readily available.
The Sun WebServer
A web server designed to efficiently support thousands of virtual hosts. Works only on Solaris, but includes kernel hacks to improve performance. The just released version 2.1 supports Servlet API 2.0. Available as part of the Solaris ISP Server ($2,485) or Easy Access Server ($595). Both bundles include additional software products. Officially "end of lifed" I believe in favor of Netscape products due to the Sun-Netscape Alliance.
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. Includes support for J2EE 1.0 (Servlet API 2.1 and JSP 1.0). 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.
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.
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.
O'Reilly's WebSite Pro
The first server not written in Java to provide built-in servlet support. Works with Windows 95 and Windows NT. $799.
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.
Borland AppServer
Borland AppServer 4 includes support for J2EE including servlets 2.1 and JSP 1.0. 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.
GemStone/J Application Server
The GemStone/J Application Server supports Servlet API 2.1 and JSP 1.0. 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 info@gemstone.com. If you are quoted a price, let me know and I'll post it here.
Gefion Software's LiteWebServer
A pure Java web server that (as of 11/21) supports Servlet API 2.2 (PR1) and JSP 1.1 (PR2). It's just 420K (130K without JSP), so it's well suited for embedded systems and bundling with demos. For most uses it can be used free of charge. Source is available with a support license, priced at $149 annually per copy or $1,600 for unlimited copies.
CtO-JStar
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 Servlet API 2.1 and HTTP/1.1. 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 Servlet API 2.2, JSP 1.1, 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.
Allaire's JRun Web Server
Although it's best known as a plug-in (see below), JRun also includes a full standalone web 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 of JRun Pro including JSP. JRun Pro is $595 for commercial deployment and features unlimited concurrency.
Lotus's Domino Go WebServer
A popular web server with support for servlets. Works with most platforms. $540.
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.
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.
vqServer
A small web server written in Java. HTML administration. Free. Includes email support.
Serfler
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.
Enhydra
An open source Java application server. Sponsored by Lutris. Supports Servlet API 2.2 and JSP 1.1. Has build-in XMLC and WML support. Can also works as an add-on for Apache, iPlanet/Netscape, and IIS. Free. Commercial support can be purchased.
Locomotive
An open source Web application server. They support Servlet API 2.1 and are actively working on 2.2. Tested to work with several JSP engine plug-ins and on most major platforms. Also has hooks to plug-in to Apache and Netscape. Free (open source).
Orion Application Server
A pure-Java web server that is being written to support Servlet API 2.2 and JSP 1.1, along with EJB 1.1, JTA 1.0.1, JMS 1.0, JNDI 1.2, JDBC 2.0, RMI/IIOP, XML/XSL, and WAP. It's in beta. Will be a commercial product but free for non-commercial use.
--------------------------------------------------------------------------------
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 is still in wide use. 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 of JRun Pro including JSP. JRun Pro is $595 for commercial deployment and features unlimited concurrency.
IBM's WebSphere Application Server (ServletExpress)
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.
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.
Enhydra
An open source Java application server. Sponsored by Lutris. 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.

GNUJSP
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.
SJSP
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.
zJSP
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.

Enjoy, it.
Regards,
Paulo Lima.
Doug Wang
Ranch Hand

Joined: Oct 05, 2001
Posts: 445
Paulo,
A big thanks for your informative containers list.
But how about JBoss application server, which is viewed as "Apache" in aplication server market.
Regards,
Doug Wang
Wouter Zelle
Ranch Hand

Joined: Apr 12, 2002
Posts: 30
Originally posted by Doug Wang:
But how about JBoss application server, which is viewed as "Apache" in aplication server market.

I haven't used it myself, but I hear nothing but good about it. It won the Javaworld Editor Award 2002. And it's open source so you can fix bugs yourself, there's a big community to get help, you can buy support if you need it and it uses the most modern technologies (including JMX). It seems the best choice to me.
Manish Hatwalne
Ranch Hand

Joined: Sep 22, 2001
Posts: 2579

Wow paulocdl !!!
That's the longest post I have seen
Thanks for all the information, though I believe some bartender will ask you to comply with the javaranch naming policy. We'd love to have more such informative posts from you.
Thanks,
- Manish
Gerry Giese
Ranch Hand

Joined: Aug 02, 2001
Posts: 247
Resin is at version 2.10 now. Caucho updates Resin quite frequently and is very responsive to bug reports.
Somebody mentioned using Orion because it automatically redeploys a war file. Resin does this, too. Any change to a file causes a recompile/psuedo-redeploy to occur when a request comes in for a webapp. This includes .java, .jsp, web.xml, etc. Quite fast, and makes for quick development. It's had this feature for a LONG time. Easiest server to work with that I know of, but it sounds like Orion works well, too.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Best Container