WAR (format de fichier)

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'applications.

Pour les articles homonymes, voir War.

WAR (Web Application ARchive)
Caractéristiques
Extension
.war
Type MIME
application/java-archive
Développé par
Type de format
Basé sur

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 fichier web.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, alors web.xml peut être omis. Si l'application est fondée sur des servlets, alors web.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 fichiers .class, et est automatiquement inclus dans le classpath. De la même façon, le répertoire WEB-INF/lib est prévu pour contenir les bibliothèques Java.

Source

Voir aussi

Articles connexes

Lien externe

  • Portail de l’informatique
  • Portail des logiciels libres
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.