JSP. 22 Archivo web.xml
Una aplicación web puede estar formada por:
- Servlets.
- Páginas JSP.
- JavaBeans y clases de utilidades.
- Documentos estáticos (html, imágenes, sonido, etc).
Existe una estructura de carpetas en la
construcción de aplicaciones web Java:
- WEB-INF/web.xml. Archivo de implementación, que proporciona información de configuración relativa a la aplicación.
- WEB-INF/classes. Esta carpeta incluye servlets, JavaBeans y clases de utilidad en forma de archivos compilados .class.
- WEB-INF/lib. Contiene ficheros JAR. Librerías a utilizar.
El archivo web.xml:
- Parámetros de inicialización.Pueden ser utilizados por el programador para transmitir información de configuración. Esta información se puede incluir en la etiqueta
. - Configuración de sesión.El elemento
define los parámetros de sesión de la aplicación web. Por ejemplo, el tiempo de duración de la sesión. - Definiciones de Servlet/JSP.Mediante
se pueden definir los servlets a utilizar, el nombre y la clase que lo implementa. - Asignaciones Servlet/JSP.Con la ayuda de la etiqueta
se puede configurar una asignación entre una URL y el servlet que es necesario invocar. Esto significa que se puede determinar qué servlet procesa una URL determinada. - Configuración de seguridad. Podemos definir medidas de seguridad para los recursos web asociados a la aplicación.
Ejemplo archivo web.xml:
<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<!-- Parámetros de inicialización -->
<context-param>
<param-name>iniParam1</param-name>
<param-value>valor iniParam1</param-value>
</context-param>
<!-- Definición de un servlet -->
<servlet>
<!-- Nombre del servlet -->
<servlet-name>DisplayServlet</servlet-name>
<!-- Clase que implementa el servlet -->
<servlet-class>com.me.jsp.servlets.DisplayServlet</servlet-class>
<!-- Parámetro de configuración de este servlet -->
<init-param>
<description>Parámetro de configuración</description>
<param-name>param1</param-name>
<param-value>valor1</param-value>
</init-param>
</servlet>
<!-- Mapeos de servlet -->
<servlet-mapping>
<!-- Nombre del servlet al que asignar mapeo -->
<servlet-name>DisplayServlet</servlet-name>
<!-- Patrón de URLs que se enviarán a este servlet,
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<!-- Parámetros de inicialización -->
<context-param>
<param-name>iniParam1</param-name>
<param-value>valor iniParam1</param-value>
</context-param>
<!-- Definición de un servlet -->
<servlet>
<!-- Nombre del servlet -->
<servlet-name>DisplayServlet</servlet-name>
<!-- Clase que implementa el servlet -->
<servlet-class>com.me.jsp.servlets.DisplayServlet</servlet-class>
<!-- Parámetro de configuración de este servlet -->
<init-param>
<description>Parámetro de configuración</description>
<param-name>param1</param-name>
<param-value>valor1</param-value>
</init-param>
</servlet>
<!-- Mapeos de servlet -->
<servlet-mapping>
<!-- Nombre del servlet al que asignar mapeo -->
<servlet-name>DisplayServlet</servlet-name>
<!-- Patrón de URLs que se enviarán a este servlet,
si hay más de un patrón, separar mediante
coma (,) -->
<url-pattern>/display/*</url-pattern>
</servlet-mapping>
<session-config>
<!-- 30 minutos como tiempo máximo de inactividad -->
<session-timeout>30</session-timeout>
</session-config>
<!-- Página a cargar al inicio -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
<url-pattern>/display/*</url-pattern>
</servlet-mapping>
<session-config>
<!-- 30 minutos como tiempo máximo de inactividad -->
<session-timeout>30</session-timeout>
</session-config>
<!-- Página a cargar al inicio -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
Explicación del archivo web.xml:
<context-param>
<param-name>iniParam1</param-name>
<param-value>valor iniParam1</param-value>
</context-param>
<param-name>iniParam1</param-name>
<param-value>valor iniParam1</param-value>
</context-param>
Parámetros de configuración a nivel general de
aplicación.
<!-- Definición de un servlet -->
<servlet>
<!-- Nombre del servlet -->
<servlet-name>DisplayServlet</servlet-name>
<!-- Clase que implementa el servlet -->
<servlet-class>com.me.jsp.servlets.DisplayServlet</servlet-class>
<!-- Parámetro de configuración de este servlet -->
<init-param>
<description>Parámetro de configuración</description>
<param-name>param1</param-name>
<param-value>valor1</param-value>
</init-param>
</servlet>
<servlet>
<!-- Nombre del servlet -->
<servlet-name>DisplayServlet</servlet-name>
<!-- Clase que implementa el servlet -->
<servlet-class>com.me.jsp.servlets.DisplayServlet</servlet-class>
<!-- Parámetro de configuración de este servlet -->
<init-param>
<description>Parámetro de configuración</description>
<param-name>param1</param-name>
<param-value>valor1</param-value>
</init-param>
</servlet>
Establece la asignación entre un nombre de un
servlet y su ruta a la clase, también se pueden definir parámetros
de configuración a nivel de servlet. Se crea una etiqueta <servlet></servlet>
por cada servlet a definir.
<servlet-mapping>
<servlet-name>DisplayServlet</servlet-name>
<url-pattern>/display/*</url-pattern>
</servlet-mapping>
<servlet-name>DisplayServlet</servlet-name>
<url-pattern>/display/*</url-pattern>
</servlet-mapping>
Este código indica que cuando se recibe una
solicitud, se determina quien la procesará. Indicamos que el servlet
DisplayServlet procesará direcciones que contengan /display/*. Si se
necesita que un servlet gestione varios patrones de URL estos se
separarán mediante una coma (,). Se crea una etiqueta <servlet-mapping></servlet-mapping> por cada servlet a mapear. Ejemplos de URL que gestionará:
localhost:8084/Ejemplo1/display
localhost:8084/Ejemplo1/display/menu.js
<session-config>
<!-- 30 minutos como tiempo máximo de inactividad -->
<session-timeout>30</session-timeout>
</session-config>
<!-- 30 minutos como tiempo máximo de inactividad -->
<session-timeout>30</session-timeout>
</session-config>
Indica la duración de la sesión.
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
Primera página a cargar.
Comentarios
Publicar un comentario