JSP. 22 Archivo web.xml


Una aplicación web puede estar formada por:
  1. Servlets.
  2. Páginas JSP.
  3. JavaBeans y clases de utilidades.
  4. 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,
                       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>
  
Explicación del archivo web.xml:
<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>
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>
 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>
 Indica la duración de la sesión.

<welcome-file-list>
    
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
Primera página a cargar.

Entradas populares de este blog

Java. Texto de colores en la consola

JSP. 8 Ejemplo recojer datos

JSP. 26 Ejemplo MVC simple