Tomcat 7: Apache Servlet Container declared stable
With version 7.0.6, released earlier today, the developers of the Tomcat Servlet Container hosted by the Apache Software Foundation have issued the first stable release of the 7.x branch. The Java technology fully supports the "Servlet API 3.0" (JSR 315) specification. Other specifications supported by this new version of Tomcat, which has long been awaited by many developers, include the JavaServer Pages 2.2 described in JSR 245 and the JSP Expression Language (EL); like Servlet 3.0, these components are part of "Java EE 6" (Java Enterprise Edition), which was finalised in December 2009.
New additions to the Servlet 3.0 API include asynchronous request processing capabilities, web fragment support, plus support for programming servlets, filters, listeners and web restrictions based on annotations and a direct API. The developers also updated the session tracking feature and added options for JSP property groups. Other additions include file upload support and a programmatic login / logout. Tomcat 7 only uses the Java Runtime Environment (JRE) 6.0.
In addition to the API, the developers have improved the Tomcat code base. For example, they worked on improving the security features and performance. The Tomcat components were given a new life cycle manager. Other new features include:
- handling of versioned web applications.
- memory leak detection and prevention.
- protection against session fixation attacks.
- filters to prevent Cross-Site Request Forgery (CSRF) attacks.
- a simplified interface for integrating the new Tomcat into custom applications.
- the integration of directories outside of the web application directory and the integration of external Java archives (JARs) outside of an application's WEB-INF/lib directory (ClassLoader extension).
- Custom servlet, filter and listener integration tests can now be formulated using a JUnit Tomcat base class.
- Some valves are now also available as a ServletFilter.
The new version of Tomcat is based on the tested Tomcat 6 and contains all known security fixes. This is another reason why developers should incorporate the new possibilities into their applications. Tomcat's asynchronous processing capability also allows portable AJAX and Comet applications to be developed with relative ease. The developers have provided instructions on how to migrate applications which run on older versions. That Sylvain Laurent and Christopher Schultz have joined the team of committers is certainly a positive sign for the future development of Tomcat.