Apache Tomcat® is an open source software implementation of the Java Servlet and JavaServer Pages technologies. Different versions of Apache Tomcat are available for different versions of the Servlet and JSP specifications. The mapping between the specifications and the respective Apache Tomcat versions is:html
Servlet Spec | JSP Spec | EL Spec | WebSocket Spec | JASPIC Spec | Apache Tomcat version | Actual release revision | Supported Java Versions |
---|---|---|---|---|---|---|---|
4.0 | TBD (2.4?) | TBD (3.1?) | TBD (1.2?) | 1.1 | 9.0.x | 9.0.0.M13 (alpha) | 8 and later |
3.1 | 2.3 | 3.0 | 1.1 | 1.1 | 8.5.x | 8.5.8 | 7 and later |
3.1 | 2.3 | 3.0 | 1.1 | N/A | 8.0.x (superseded) | 8.0.39 (superseded) | 7 and later |
3.0 | 2.2 | 2.2 | 1.1 | N/A | 7.0.x | 7.0.73 | 6 and later (7 and later for WebSocket) |
2.5 | 2.1 | 2.1 | N/A | N/A | 6.0.x | 6.0.48 | 5 and later |
2.4 | 2.0 | N/A | N/A | N/A | 5.5.x (archived) | 5.5.36 (archived) | 1.4 and later |
2.3 | 1.2 | N/A | N/A | N/A | 4.1.x (archived) | 4.1.40 (archived) | 1.3 and later |
2.2 | 1.1 | N/A | N/A | N/A | 3.3.x (archived) | 3.3.2 (archived) | 1.1 and later |
Each version of Tomcat is supported for any stable Java release that meets the requirements of the final column in the table above.java
Tomcat should also work on any Java early access build that meets the requirements of the final column in the table above. For example, users were successfully running Tomcat 8 on Java 8 many months before the first stable Java 8 release. However, users of early access builds should be aware of the following:web
The releases are described in more detail below to help you determine which one is right for you. More details about each release can be found in the associated release notes.apache
Please note that although we offer downloads and documentation of older releases, such as Apache Tomcat 6.x, we strongly encourage users to use the latest stable version of Apache Tomcat whenever possible. We recognize that upgrading across major versions may not be a trivial task, and some support is still offered on the mailing list for users of old versions. However, because of the community-driven support approach, the older your version, fewer people will be interested or able to support you.tomcat
When voting for a release, reviewers specify the stability level that they consider the release has reached. Initial releases of a new major version typically process from Alpha, through Beta to Stable over a period of several months. However, the Stable level is only available once the Java specifications the release implements have been finalised. This means a release that in all other respects is considered stable, may still be labelled as Beta if the specifications are not final.session
The download pages will always show the latest stable release and any newer Alpha or Beta release if one exists. Alpha and beta releases are always clearly marked on the download pages.app
Stability is a subjective judgement and you should always read carefully the release notes for any version you intend to make use of. If you are an early adopter of a release, we would love to hear your opinion about its stability as part of the vote: it takes place on the development mailing list.ide
Alpha releases may contain large amounts of untested/missing functionality required by the specification and/or significant bugs and are not expected to run stably for any length of time.flex
Beta releases may contain some untested functionality and/or a number of relatively minor bugs. Beta releases are not expected to run stably.ui
Stable releases may contain a small number of relatively minor bugs. Stable releases are intended for production use and are expected to run stably for extended periods of time.
Apache Tomcat 9.x is the current focus of development, it builds on Tomcat 8.0.x and implements the current draft of the Servlet 4.0 specification and will also implement the JSP 2.4?, EL 3.1? and Web Socket 1.2? specifications once work starts on updating those specifications for Java EE 8. In addition to this, it includes the following significant improvements:
Apache Tomcat 8.x builds on Tomcat 7.0.x and implements the Servlet 3.1, JSP 2.3, EL 3.0 and Web Socket 1.1 specifications. In addition to that, it includes the following significant improvements:
Apache Tomcat 7.x builds upon the improvements made in Tomcat 6.0.x and implements the Servlet 3.0, JSP 2.2, EL 2.2 and Web Socket 1.1 specifications. In addition to that, it includes the following improvements:
Apache Tomcat 6.x builds upon the improvements made in Tomcat 5.5.x and implements the Servlet 2.5 and JSP 2.1 specifications. In addition to that, it includes the following improvements:
Users of Tomcat 6 should be aware that the Tomcat team have announced the end of life date for Tomcat 6.x. Users of Tomcat 6.x should plan to upgrade before Tomcat 6.x reaches end of life.
Apache Tomcat 5.x is available for download from the archives.
Apache Tomcat 5.5.x supports the same Servlet and JSP Specification versions as Apache Tomcat 5.0.x. There are significant changes in many areas under the hood, resulting in improved performance, stability, and total cost of ownership. Please refer to the Apache Tomcat 5.5 Changelog for details.
Apache Tomcat 5.0.x improves on Apache Tomcat 4.1 in many ways, including:
Apache Tomcat 4.x is available for download from the archives.
Apache Tomcat 4.x implements a new servlet container (called Catalina) that is based on completely new architecture. The 4.x releases implement the Servlet 2.3 and JSP 1.2 specifications.
Apache Tomcat 4.1.x is a refactoring of Apache Tomcat 4.0.x, and contains significant enhancements, including:
Apache Tomcat 4.0.x. Apache Tomcat 4.0.6 is the old production quality release. The 4.0 servlet container (Catalina) has been developed from the ground up for flexibility and performance. Version 4.0 implements the final released versions of the Servlet 2.3 and JSP 1.2 specifications. As required by the specifications, Apache Tomcat 4.0 also supports web applications built for the Servlet 2.2 and JSP 1.1 specifications with no changes.
Apache Tomcat 3.x is available for download from the archives.
All Apache Tomcat 3.x releases trace their heritage back to the original Servlet and JSP implementations that Sun donated to the Apache Software Foundation. The 3.x versions all implement the Servlet 2.2 and JSP 1.1 specifications.
Apache Tomcat 3.3.x. Version 3.3.2 is the current production quality release. It continues the refactoring that was begun in version 3.2 and carries it to its logical conclusion. Version 3.3 provides a much more modular design and allows the servlet container to be customized by adding and removing modules that control the processing of servlet requests. This version also contains many performance improvements.
Apache Tomcat 3.2.x. Version 3.2 added few new features since 3.1; the major effort was a refactoring of the internals to improve performance and stability. The 3.2.1 release, like 3.1.1, was a security patch. Version 3.2.2 fixed a large number of bugs and all known specification compliance issues. Version 3.2.3 was a security update that closes a serious security hole. Version 3.2.4 is a minor bug fix release. All users of Apache Tomcat versions prior to 3.2.3 should upgrade as soon as possible. With the exception of fixes for critical security related bugs, development on the Apache Tomcat 3.2.x branch has stopped.
Apache Tomcat 3.1.x. The 3.1 release contained several improvements over Apache Tomcat 3.0, including servlet reloading, WAR file support and added connectors for the IIS and Netscape web servers. The latest maintenance release, 3.1.1, contained fixes for security problems. There is no active development ongoing for Apache Tomcat 3.1.x. Users of Apache Tomcat 3.1 should update to 3.1.1 to close the security holes and they are strongly encouraged to migrate to the current production release, Apache Tomcat 3.3.
Apache Tomcat 3.0.x. Initial Apache Tomcat release.