- WAR (format de fichier)
-
WAR (Web Application ARchive) Java Web Application Archive Extension .war Type MIME application/java-archive
Développé par Sun Microsystems Type de format Archive (avec Compression de données) Extension du ZIP modifier En informatique, un fichier WAR (pour Web Application ARchive) est un fichier JAR utilisé pour contenir un ensemble de JavaServer Pages, servlets, classes Java, fichiers XML, et des pages web statiques (HTML, Javascript…), le tout constituant une application web. Cette archive est utilisée pour déployer une application web sur un serveur d'application.
Sommaire
Structure et contenu
Un fichier WAR peut être signé numériquement de la même façon qu'un fichier JAR, ce qui permet d'assurer la sécurité du code.
Ces fichiers doivent obligatoirement contenir certains répertoires et fichiers :
- Le répertoire
WEB-INF
contient le fichierweb.xml
qui définit la structure et le paramétrage de l'application web. Si l'application est fondée uniquement sur des fichiers JSP, alorsweb.xml
peut être omis. Si l'application est fondée sur des servlets, alorsweb.xml
indique quelles sont les URL associées à chaque servlet. Le fichier est aussi utilisé pour définir des variables et pour définir des dépendances à prendre en compte pour le déploiement.
Un des désavantages de cette méthode, dans des environnements très dynamiques, est que le moindre changement à apporter ne peut être fait sans la regénération et le redéploiement du WAR.
Exemple de
web.xml
spécifiant une servlet (HelloServlet) avec la classe java et l'URL associée :<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> <web-app> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>mypackage.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/HelloServlet</url-pattern> </servlet-mapping> <resource-ref> <description> Resource reference to a factory for javax.mail.Session instances that may be used for sending electronic mail messages, preconfigured to connect to the appropriate SMTP server. </description> <res-ref-name>mail/Session</res-ref-name> <res-type>javax.mail.Session</res-type> <res-auth>Container</res-auth> </resource-ref> </web-app>
Le répertoire
WEB-INF/classes
est prévu pour contenir les sources Java, et est automatiquement inclus dans le classpath. De la même façon, le répertoireWEB-INF/lib
est prévu pour contenir les bibliothèques Java.Voir aussi
Notes et références
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « WAR (file format) » (voir la liste des auteurs)
Liens externes
Catégories :- Java
- Plateforme Java
- Format de compression de données
- Le répertoire
Wikimedia Foundation. 2010.