Web Application Archive

Web Application Archive (WAR file; gelegentlich auch Web Archive) ist ein Dateiformat, das beschreibt, wie eine vollständige Webanwendung nach der Java-Servlet-Spezifikation in eine Datei im JAR- bzw. ZIP-Format verpackt wird.[1] Solche Dateien haben immer die Endung .war und werden daher umgangssprachlich auch „WAR-Datei“ genannt.

Struktur

Für Webanwendungen nach der Servlet-Spezifikation ist eine bestimmte Verzeichnisstruktur vorgeschrieben, die sich auch in den WAR-Dateien wiederfindet.

Neben der für alle JAR-Dateien vorgeschriebenen Datei META-INF/MANIFEST.MF enthält jede WAR-Datei ein Verzeichnis WEB-INF, in dem sich ein sogenannter Deployment Descriptor (frei übersetzt als „Einsatzbeschreibung“) namens web.xml befindet, der alle Servlets und andere Eigenschaften der Webanwendung definiert. Kompilierte Java-Klassen sind in einem Unterverzeichnis namens WEB-INF/classes enthalten und benötigte Hilfsbibliotheken in WEB-INF/lib. Alle Dateien, die sich nicht im WEB-INF-Verzeichnis befinden, werden als statischer Inhalt der Webanwendung interpretiert, z. B. HTML-Seiten, aber auch JavaServer Pages.

Das folgende Beispiel zeigt eine typische Struktur eines fiktiven, sehr einfachen Web Archives.

/index.html
/gaestebuch.jsp
/images/logo.png
/WEB-INF/web.xml
/WEB-INF/classes/org/wikipedia/Util.class
/WEB-INF/classes/org/wikipedia/MainServlet.class
/WEB-INF/lib/util.jar
/META-INF/MANIFEST.MF

Der Inhalt kann auch extrahiert werden.

Einzelnachweise

  1. Servlet Specification, Version 2.4 jcp.org – 24. November 2003