What Is New in Apache Tomcat 6.0
Tomcat 6.0 represents a major implementation of the Servlet 2.5 and JSP 2.1 specifications. This release is a complete refactoring of the codebase, focusing on performance and removing legacy cruft.
| Category | Key Changes |
|---|---|
| Specification Support | Servlet 2.5, JSP 2.1, EL 2.1 |
| Performance | Reduced memory footprint, redesigned clustering |
| System Requirements | JDK 5.0 or later, JSP 2.1 requires JDK 5.0 |
| Removed Features | Removed Struts, removed /admin web application |
| Security | Memory leak prevention, security manager fixes |
What are the major specification updates?
Tomcat 6.0 fully implements the Servlet 2.5 and JSP 2.1 specifications from the Java EE 5 platform. This is the core change that drives most other updates in this version.
The Expression Language (EL) 2.1 support is now integrated directly into the JSP 2.1 implementation. In practice, this means you get better support for deferred expressions and method invocations within your JSP pages.
How does performance improve in this version?
The memory footprint has been significantly reduced through internal optimizations. The clustering implementation was completely redesigned for better efficiency and reliability.
They removed a lot of legacy code that was dragging down performance. This matters because your applications will run faster with the same hardware resources compared to previous Tomcat versions.
What was removed that might affect my upgrade?
The Struts example application and the entire /admin web application have been removed. The admin functionality was replaced by external tools that offer better management capabilities.
If you were using the embedded admin console for management, you'll need to switch to JMX or other management tools. Several legacy connectors and components were also pruned to streamline the core.
What are the key system requirements?
Tomcat 6.0 requires JDK 5.0 or later to run. However, if you want to use JSP 2.1 features, you must use JDK 5.0 specifically - it won't work with earlier JDK versions.
The memory leak detection and prevention features work best with JDK 5.0. This requirement pushed many shops to finally upgrade their Java runtime environments when adopting Tomcat 6.
FAQ
Can I run Tomcat 6.0 with JDK 1.4?
No. Tomcat 6.0 requires JDK 5.0 or later. The JSP 2.1 implementation specifically needs JDK 5.0 features that aren't available in earlier versions.
What happened to the admin web application?
It was completely removed. The development team decided that external management tools and JMX provided better administration capabilities than the built-in web console.
Does Tomcat 6.0 support the same connectors as previous versions?
Mostly yes, but some legacy connectors were removed. The JK 1.2 connector support was dropped in favor of the more modern JK 1.2.x connectors.
Is clustering better in this release?
Yes, the clustering implementation was completely redesigned from the ground up. It's more efficient and reliable than the clustering in Tomcat 5.x versions.
What's the main reason to upgrade to Tomcat 6.0?
The Servlet 2.5 and JSP 2.1 support is the primary driver. If you need the newer Java EE 5 web container features, this is the minimum Tomcat version that provides them.