wiki:archivo_war

Inicio > Actividades para el 2019 > Estudiando el lenguaje Java > Los archivos .war


Los archivos .war

Un archivo .war (Web Archive) es una aplicación Web empaquetada.Un archivo .war es el método estándar empleado para empaquetar una aplicación web y dejarla lista para su distribución y acceso a través de servidores web con soporte para servlets y páginas JSP. Utilizando el archivo WAR se puede distribuir una aplicación web completa, compuesta por cualquier número de recursos, en una única unidad de distribución, en un único archivo.

El archivo WAR se genera con la herramienta jar, desde el directorio inmediatamente anterior al directorio que contiene la aplicación web. En realidad, un archivo WAR es un archivo comprimido que utiliza tecnología zip que permite agrupar múltiples ficheros y directorios en un único fichero, manteniendo su estructura original y comprimiendo su contenido; por lo que cualquier herramienta que permita comprimir en este formado puede ser utilizada, renombrando el archivo de salida de dicha herramienta a un archivo con extensión WAR.

El archivo WAR es el que se proporciona al proveedor de Internet, que debe colocarlo en el directorio adecuado del servidor web que utilice, dejando la aplicación accesible al público a través de cualquier navegador. Los archivos WAR son similares a los archivos JAR, pero contienen clases especiales llamadas 'servlets'. Los Servlets permiten la implementación de aplicaciones www dinámicas que utilizan el protocolo HTTP. Además de los recursos del proyecto, el archivo WAR incluye un archivo de descriptor de despliegue Web. El descriptor de despliegue Web es un archivo XML que contiene información de despliegue, tipos MIME, detalles de configuración de sesión y otros valores de una aplicación Web. El archivo de descriptor de despliegue Web (web.xml) proporciona información sobre cómo se comparte el archivo WAR con los desarrolladores, ensambladores y desplegadores en un entorno Java EE. El entorno de desarrollo Web ofrece recursos para importar y exportar archivos WAR utilizando los siguientes asistentes:

  • Importar recursos desde un archivo WAR, que requiere especificar un proyecto Web. Puede utilizar proyectos existentes o crearlos al utilizar el asistente.
  • Exportar recursos a un archivo WAR, que sólo requiere una ubicación de exportación y algunos valores opcionales


Estructura de un archivo war

El archivo WAR siempre incluye dos directorios especiales: META-INF y WEB-INF. En el directorio META-INF se almacena el fichero de manifiesto MANIFIEST.MF.

  • Assembly Root: Esta es la carpeta principal de la aplicación dentro de la cual todos los elementos se ubican . Se denomina así porque normalmente cuando el WAR es descomprimido es cuando se decide el nombre final de la carpeta por ejemplo Aplicacion1. Como carpeta principal se encarga habitualmente de almacenar ficheros de tipo JSP ,HTML ,CSS y JS.
  • WEB-INF: Esta carpeta es obligatoria en la aplicación y se encarga de almacenar las carpetas de lib y clases junto con el fichero de descriptor de despliegue conocido como “web.xml”
  • lib: Esta carpeta se encarga de almacenar todos los ficheros JAR que nuestra aplicación necesita.
  • Classes: Esta carpeta se encarga de almacenar todas las clases que tenga nuestra aplicación.
  • web.xml: Es el fichero de configuración de la aplicación en donde configuramos variables globales ,servlets filtros etc . Hasta la version 2.5 era un fichero obligatorio y sin el la aplicación no era capaz de arrancar . A partir de la versión 3.0 debido al uso de anotaciones pasa a ser opcional.
  • META-INF: Carpeta donde se ubican los ficheros de metadatos.
  • Manifest.MF: contiene información sobre los archivos contenidos en el archivo WAR.


Archivos JARS

JAR ("Java Archives") es un formato desarrollado por "Sun" que permite agrupar las clases diseñadas en el lenguaje Java, este formato es ampliamente utilizado en ambientes Java de todo tipo, esto se debe a que otorga un nivel de compresión y reduce la carga administrativa al distribuir clases en el lenguaje. En ambientes Java también existen otros tipos de archivos llamados: WARS ("Web-Archives"), EJB-JAR("EJB Jars") y EARS("Enterprise Archives"), sin embargo, es conveniente saber que WAR's, EJB-JAR's y EARS's siguen siendo archivos JAR ("Java Archives"), su creación se debe únicamente como convención y su contenido puede ser analizado de la misma manera que un archivo JAR mediante el comando jar.


Servlet

El servlet es una clase en el lenguaje de programación Java, utilizada para ampliar las capacidades de un servidor. Aunque los servlets pueden responder a cualquier tipo de solicitudes, estos son utilizados comúnmente para extender las aplicaciones alojadas por servidores web, de tal manera que pueden ser vistos como applets de Java que se ejecutan en servidores en vez de navegadores web. Este tipo de servlets son la contraparte Java de otras tecnologías de contenido dinámico Web, como PHP y ASP.NET.


Java Server Pages (JSP)

Java Server Pages (JSP) es una tecnología que permite a los desarrolladores y diseñadores web desarrollar rápidamente y mantener fácilmente páginas web dinámicas y ricas en información que aprovechan los sistemas comerciales existentes. Como parte de la familia de tecnología Java, la tecnología JSP permite el desarrollo rápido de aplicaciones basadas en web que son independientes de la plataforma. La tecnología JSP separa la interfaz de usuario de la generación de contenido, lo que permite a los diseñadores cambiar el diseño general de la página sin alterar el contenido dinámico subyacente.


Uso de JSP

Las páginas Java Server a menudo sirven para el mismo propósito que los programas implementados usando la interfaz Common Gateway Interface (CGI) . Pero JSP ofrece varias ventajas en comparación con el CGI. El rendimiento es significativamente mejor porque JSP permite incrustar elementos dinámicos en páginas HTML en lugar de tener archivos CGI separados.

Los JSP siempre se compilan antes de que el servidor los procese, a diferencia de CGI / Perl, que requiere que el servidor cargue un intérprete y el script de destino cada vez que se solicita la página.

Las páginas JavaServer? se crean sobre la API de Java Servlets, por lo que, al igual que Servlets, JSP también tiene acceso a todas las potentes API Enterprise Java, incluidas JDBC, JNDI, EJB, JAXP, etc. Las páginas JSP se pueden usar en combinación con servlets que manejan la lógica de negocios, el modelo soportado por los motores de plantillas de servlets de Java. Finalmente, JSP es una parte integral de Java EE, una plataforma completa para aplicaciones de clase empresarial. Esto significa que JSP puede desempeñar un papel en las aplicaciones más simples a las más complejas y exigentes.


Fuentes

Last modified 5 years ago Last modified on Oct 23, 2019, 9:21:38 AM