Twenty-four years ago, in May of 1996, Sun Microsystems announced that they were 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.

James Gosling originally proposed the idea of Servlets in 1995, the same year that Java 1.0 was in beta. The concept of servlets was bandied around for a while until it was picked up by Pavani Diwanji in early 1996, 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 their 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 of 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 the Servlet technology with the release of Jeeves Alpha 1.2[3]. The first release of a Servlet specification was December of 1996.

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 of 1997, and the Java Servlet API 2.1. It was then that 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.

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 (176M visit/day) and Politico.com (44M visits/day)[5]. 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.

The Servlet API continues to provide a foundation for innovation. Java microservices and cloud-native applications are increasingly using 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 a hardened and proven technology like the Servlet API and Tomcat. If you want support for your Tomcat or TomEE deployment, do 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

Richard Monson-Haefel

Richard Monson-Haefel

Richard has more the 24 years of experience as a professional software developer and architect. He has written five books on enterprise Java including EJB, JMS, web services, and software architecture. He has served on the JCP executive committee and multiple expert groups, is the co-founder of OpenEJB and Apache Geronimo, was a Sr. Analyst for Burton Group (aka Gartner), and is a celebrated public speaker.
rmonson

2 Comments

Leave a Reply