Su nombre procede de Web Application Archive (Archivo de Aplicación Web); permiten empaquetar en una sola unidad aplicaciones web de Java completas, es decir que su contenido sea:
- Servlets y JSP.
- Contenido estático: HTML, imágenes, etc.
- Otros recursos web.
Aportan como ventaja, la simplificación del despliegue de aplicaciones web, debido a que su instalación es sencilla y solamente es necesario un fichero para cada servidor en un cluster, además de incrementar la seguridad ya que no permite el acceso entre aplicaciones web distintas.
Su estructura es la siguiente:
/
: En la carpeta raíz del proyecto se almacenan elementos empleados en los sitios web: documentos html, hojas de estilo y los elementos JSP (*.html
, *.jsp
, *.css
).
/WEB-INF/
: Aquí se encuentran los elementos de configuración del archivo .war
como pueden ser: la página de inicio, la ubicación de los servlets, parámetros adicionales para otros componentes. El más importante de éstos es el archivo web.xml
.
/WEB-INF/classes/
: Contiene las clases Java empleadas en el archivo .war
y, normalmente, en esta carpeta se encuentran los servlets.
/WEB-INF/lib/
: Contiene los archivos JAR utilizados por la aplicación y que normalmente son las clases empleadas para conectarse con la base de datos o las empleadas por librerías de JSP.
Para generar archivos .war
se pueden emplear diversas herramientas desde entorno IDE. Por ejemplo, encontramos: NetBeans y Eclipse, ambos Open-Source y también Jbuilder de Borland, Jdeveloper de Oracle; otro modo de construir archivos .war
es mediante Ant. Se trata de una herramienta Open-Source que facilita la construcción de aplicaciones en Java. No es considerado un IDE pero para los que conocen el entorno Linux, es considerado el make
de Java.