Tomcat 7: Apache-Servlet-Container für stabil erklärt

Die von vielen Entwicklern schon länger ersehnte Version 7 des Servlet-Containers ist nun für stabil erklärt worden. Sie implementiert die Java-Spezifikationen Servlet 3.0 sowie JSP 2.2 und enthält zahlreiche Verbesserungen an der Codebasis.

In Pocket speichern vorlesen Druckansicht 33 Kommentare lesen
Lesezeit: 3 Min.
Von
  • Peter Roßbach

Die Entwickler des Tomcat-Servlet-Containers unter dem Dach der Apache Software Foundation haben mit der heute erschienenen Version 7.0.6 das erste als stabil bezeichnete Release der 7.x-Entwicklung veröffentlicht. Die Java-Technik unterstützt die Spezifikation "Servlet API 3.0" (JSR 315) vollständig. Weitere Spezifikationen, die der von vielen Entwicklern schon länger ersehnte neue Tomcat berücksichtigt, sind die unter dem JSR 245 beschriebenen JavaServer Pages 2.2 beziehungsweise die JSP Expression Language (EL), die wie Servlet 3.0 Teil der im Dezember 2009 finalisierten "Java EE 6" (Java Enterprise Edition) sind.

Neue Eigenschaften der Servlet 3.0 API sind die asynchrone Anfrageverarbeitung, Unterstützung von Webfragmenten sowie für das Programmieren von Servlets, Filtern, Listener und Webeinschränkungen auf der Basis von Annotationen und einer direkten API. Die Entwickler haben darüber hinaus das Session-Tracking überarbeitet und zusätzliche Optionen für JSP Property Groups geschaffen. Dazu kommt die Unterstützung für File-Uploads und ein programmatisches Login/Logout. Als Ablaufumgebung verwendet Tomcat 7 nur noch die Java Runtime Environment (JRE) 6.0.

Neben der API sind wurde auch die Tomcat-Codebasis verbessert. Beispielsweise haben die Entwickler an den Sicherheitsfunktionen und der Leistungsfähigkeit gearbeitet. Auch haben die Tomcat-Komponenten ein neues Lifecycle-Management erhalten. Weitere Neuerungen sind etwa

  • die Behandlung von versionierten Webanwendungen,
  • das Vorbeugen und Auffinden von Speicherlöchern,
  • der Schutz vor Session-Fixation-Attacken,
  • Filter für Cross-Site Request Forgery (CSRF),
  • eine vereinfachte Schnittstelle zur Integration des neuen Tomcat in eigene Anwendungen
  • die Integration von Verzeichnissen außerhalb der eigenen Webanwendungen sowie die von externen Java-Archiven (JARs) außerhalb des WEB-INF/lib-Verzeichnis einer Anwendung (ClassLoader-Erweiterung).
  • Eigene Integrationstests von Servlets, Filter und Listener lassen sich nun auf der Basis einer JUnit-Tomcat-Basisklasse formulieren.
  • Einige Valves stehen nun alternativ als ServletFilter bereit.

Die neue Tomcat-Version setzt auf der erprobten Tomcat-6-Basis auf und enthält alle bekannten Sicherheitsfixes. Auch dadurch empfiehlt es sich, die neuen Möglichkeiten in eigenen Anwendungen einzusetzen. Mit der asynchronen Verarbeitung lassen sich darüber hinaus nun relativ leicht AJAX- oder Comet-Anwendungen portabel entwickeln. Für die Migration von auf älteren Versionen laufenden Anwendungen stellen die Entwickler eine Anleitung bereit. Positiv für die zukünftige Tomcat-Entwicklung zu bewerten ist sicherlich, dass es mit Sylvain Laurent und Christopher Schultz neue Committer im Team gibt.

Siehe dazu auch:

(ane)