Jakarta EE: Servlets and Tomcat — 23 Years and Counting

Twenty-four years ago, in May 1996, Sun Microsystems announced it was developing the server-side equivalent to the Java applet, the Java Servlet. Since then, the Servlet API has maintained a prominent position in the enterprise Java ecosystem.

Here’s a brief summary of how we got to where we are today.

1995-1996: The Dawn of Server-Side Java

James Gosling originally proposed the idea of Servlets in 1995, the same year Java 1.0 was in beta. The concept of servlets was bandied around until early 1996 when it was picked up by Pavani Diwanji who wanted to include it in a pure Java HTTP server Sun was developing, code-named Jeeves. At that time, server-side Java was almost non-existent. Netscape had an extension for Java in its web server, and Oracle was working on something similar, but otherwise, it was a green field[1].

The Servlet API made its debut at JavaOne in May 1996. Two months later, Sun released the first alpha of Jeeves, later named Java Web Server, with the new Servlet API. While Jeeves was the first to implement the Servlet API, it was quickly followed by open source projects Apache JServ, Jigsaw, Jetty, Localmotive Application Server, and Enhydra. Only Jetty remains active today. Commercial offerings came from Weblogic Tengah, ATC Dynamo, and LiveSoftware’s JRun[2].

In August of 1996, Sun published the first white paper, and arguably the first formal documentation of Servlet technology with the release of Jeeves Alpha 1.2[3]. The first release of a Servlet specification was in December 1996.

1997-2005: The Java Web Servlet Development Kit Becomes Apache Tomcat

After that, the new reference implementation (a full rewrite) of the Servlet API was developed by James Duncan Davidson with the first release of the Java Web Servlet Development Kit (JWSDK) in June 1997, and the Java Servlet API 2.1. That was when I first used Servlets with Sun’s Java Web Server to develop a website that allowed you to look up schedules and ports-of-call for Radisson Seven Seas Cruises. That was 23 years ago when the web was still young.

Davidson, who incidentally also founded the Apache Ant project, convinced Sun Microsystems to donate the JWSDK, the official reference implementation of the Servlet API, to the Apache Software Foundation in 1999 under a subproject called Tomcat[4]. Apache Tomcat became a top-level Apache project in 2005.

Tomcat Is Ideal for Super-High-Traffic Sites

Today, Tomcat is the dominant implementation of the Servlet API and its offspring (JSP, EL, JSPTL). While Tomcat is not the most pervasive web server in existence — that honor goes to Apache httpd — it is the platform of choice for super-high-traffic sites, including Alibaba.com (176 million visits/day) and Politico.com (44 million visits/day)[5]. These numbers are a testament to the importance of the Servlet API and the performance of Tomcat.

The Jakarta Servlet API is arguably the first standard for Java server-side development and is the bedrock of everything you know about enterprise Java. It’s the foundation of JSP, Struts, JSF, Jakarta EE, and Spring, to name a few. Without the Servlet API, Java might never have become a leading platform for server-side development.

Proven, Hardened Technologies Drive Ongoing Innovation

The Servlet API continues to provide a foundation for innovation. Java microservices and cloud native applications increasingly use Servlets in combination with JAX-RS to provide robust and fast RESTful web service endpoints.

I’m proud to say that Tomitribe is the leading support company for Tomcat and its Jakarta EE sibling, TomEE. It’s fascinating helping companies solve modern problems with hardened and proven technologies such as the Servlet API and Tomcat. If you need support for your Tomcat or TomEE deployment, please sure to contact us. We know Tomcat.

References

[1] Driscoll, Jim. “Servlet History Blog” Oracle Blogs. 10 Dec 2005.
https://community.oracle.com/blogs/driscoll/2005/12/10/servlet-history 

[2] Jason Brittain, Ian F. Darwin. (2007). Where Did Tomcat Come From. Tomcat: The Definitive Guide: The Definitive Guide. O’Reilly Media, Inc. 

[3] CSD, UNC. “Java Servlet Application Programming Interface White Paper.” August 1996.
http://www.cs.unc.edu/~jbs/java/servers/jeeves/JeevesA1.2/doc/api.html 

[4] James Duncan Davidson. “What was the history of Tomcat inside Sun before it was open-sourced?” Answer. Nov 2014.
https://www.quora.com/What-was-the-history-of-Tomcat-inside-Sun-before-it-was-open-sourced# 

[5] W3 Technology Surveys. “Usage statistics of Tomcat.” January 2020.
https://w3techs.com/technologies/details/ws-tomcat

About the Author

Richard Monson-Haefel

Richard Monson-Haefel