Tomcat Overview
Tomcat Overview
Tomcat is an open-source web container widely used around the world.
Tomcat’s official name is “Apache Tomcat”, but it is so widely recognized simply as “Tomcat” that it is no exaggeration to call it the de facto standard for web containers today. Tomcat is written in Java, can be used on many platforms where Java runs, and is widely used in enterprise systems because it is stable, lightweight, and performs well.
Tomcat began as Sun Microsystems’ reference implementation of Java Servlet and JSP (JavaServer Pages). It was donated to the Apache Software Foundation (ASF) in 1999, and version 3.0 was released as an early version.
The name Tomcat, meaning a male cat, came from the image of being able to act and fight independently, and was named by developer James Duncan Davidson.
Tomcat is still actively versioned and continues to evolve as one of the top-level projects owned by the Apache Software Foundation.
The latest 10.0.x versions include features such as Servlet 5.0, JSP 3.0, EL 4.0, WebSocket 2.0, and HTTP/2. The next 10.1.x version under development implements Servlet 6.0, JSP 3.1, EL 5.0, WebSocket (version not yet decided), and Authentication (JASPIC) (version not yet decided).
Tomcat License
Tomcat is distributed under the Apache License version 2 and can be freely used, modified, and redistributed by anyone, whether for commercial or non-commercial purposes. Tomcat uses release modules that support the Servlet/JSP specifications.
Software Similar to Tomcat
Among commercial software products, WebLogic Express and WebSphere Application Server Express provide functionality similar to Tomcat.
Main Features of Tomcat
In addition to high performance and high stability, Tomcat has the following characteristics.
Because its features, performance, and track record are nearly comparable to commercial products, the points that it is “more open-standard” and “can reduce costs more” seem to be decisive factors in choosing Tomcat.
- JSP/Servlet standard specifications
- Tomcat was developed and implemented as the official reference implementation for Java Servlet and JSP.
- Tomcat can run by itself as a web server (httpd), but it is usually used together with Apache or IIS.
- Lightweight operation and stability
- Because Tomcat is stable and lightweight, it does not require high-spec hardware like commercial products and is easy to install.
- Multi-platform support
- Tomcat supports various OS platforms, including Red Hat Enterprise Linux, SUSE Linux, Sun Solaris, HP-UX, Microsoft Windows, and AIX.
- Used worldwide
- It is the de facto standard for web containers used widely around the world, with many deployment cases.
- High functionality and high performance
- With JSP/Servlet standard specifications, Tomcat provides functionality equivalent to commercial products, and its performance is equivalent to or even faster than commercial products.
- Easy to find engineers
- Because Tomcat is a de facto standard used worldwide, it is easier to find engineers for projects developed by large teams or for overseas development. It also has advantages such as making it easier to share intellectual assets without extra training costs for environment setup or development.
- Can be used for a long time
- Commercial product support usually lasts 3 to 5 years, but because Tomcat is stable in operation, it can often be used for a long time even without support.
- Cost effectiveness
- Because Tomcat is a high-functionality web container without license fees, it can be used freely and can significantly reduce costs compared with commercial products.
Tomcat and Servlet/JSP Version Compatibility Table
| Apache Tomcat version | Servlet Spec | JSP Spec | EL Spec | WebSocket Spec | JDK |
|---|---|---|---|---|---|
| 10.1.x | 6.0 | 3.1 | 5.0 | 2.1 | 8 or later |
| 10.0.x | 5.0 | 3.0 | 4.0 | 2.0 | 8 or later |
| 9.0.x | 4.0 | 2.3 | 3.0 | 1.1 | 8 or later |
| 8.5.x | 3.1 | 2.3 | 3.0 | 1.1 | 7 or later |
| 8.0.x(EOL) | 3.1 | 2.3 | 3.0 | 1.1 | 7 or later |
| 7.0.x(EOL) | 3 | 2.2 | 2.2 | 1.1 | 6 or later |
| 6.0.x(EOL) | 2.5 | 2.1 | 2.1 | - | 5 or later |
| 5.5.x(EOL) | 2.4 | 2 | - | - | 1.4 or later |
Reference source: http://tomcat.apache.org/whichversion.html