Como todos los ficheros xml de configuración, este archivo contiene una DTD (como por ejemplo ésta 2.2) que describe el contenido ordenado del fichero xml, y la descripción de las propiedades que va a utilizar. Este es el fichero que contiene la configuración de la aplicación web que estemos desarrollando, y su contenido es el siguiente:
- web-app, que es el elemento raíz del fichero xml.
- icon, especifica la ruta para las imágenes asociadas a los iconos pequeño y grande que representan a la aplicación.
- display-name, el nombre que representará a la aplicación dentro de las herramientas del servidor de aplicaciones, no es un nombre funcional.
- description, texto descriptivo de la aplicación, que al igual que las dos anteriores propiedades, sólo es representativo.
- context-param, nos permite configurar la inicialización del contexto de una servlet de nuestra aplicación web. Un ejemplo :
<context-param> <param-name>hostname</param-name> <param-value>localhost</param-value> <description> The name of the host on which recipned is running </description> </context-param>
- servlet, declaramos la configuración de nuestras servlets. Un ejemplo típico es la configuración de la servlet para utilizar struts:
<servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet>
- servlet-mapping, relacionamos las servlets que hemos declarado con las url que van a escuchar. Por ejemplo para utilizar la servlet que hemos llamado anteriormente "action" cuando la url tiene la extensión ".do":
<servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
- session-config, parámetros para configurar la sesión. El único, session-timeout que por defecto es 30 minutos.
<session-config> <session-timeout>30</session-timeout> </session-config>
- mime-mapping, para declarar una relación entre las extensiones y los tipos mime.
<mime-mapping> <extension>doc</extension> <mime-type>application/vnd.ms-word</mime-type> </mime-mapping> <mime-mapping> <extension>dsp</extension> <mime-type>text/html</mime-type> </mime-mapping>
- welcome-file-list, especifica los ficheros de bienvenida posibles.
<welcome-file-list> <welcome-file>index.jsp</welcome-file> <welcome-file>indexAdministracion.jsp</welcome-file> </welcome-file-list>
- tag-lib, para describir librerías de etiquetas (tab libs!!!) de los ficheros JSP. Por ejemplo, las típicas utilizadas con struts:
<taglib> <taglib-uri>/tags/struts-bean</taglib-uri> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib>
- error-page, para asociar errores HTML y excepciones lanzadas a páginas de error personalizadas para la aplicación:
<error-page> <error-code>404</error-code> <location>/notfound.jsp</location> </error-page> <error-page> <exception-type>java.lang.Throwable</exception-type> <location>/error.jsp</location> </error-page>
- resource-ref, utilizado para declarar recursos externos que nuestra aplicación va a utilizar, como una conexión a una base de datos.
<resource-ref> <description>Conexion hacia Base de Datos SQL</description> <res-ref-name>jdbc/ConexionMySQL</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
- security-constraint, para proteger áreas de la aplicación (o la aplicación completa como en el ejemplo), asonciándolas a roles que deben tener los usuarios para poder acceder. Estos usuarios y roles son los declarados en TOMCAT_ROOT/conf/tomcat-users.xml. Es útil cuando queremos proteger sin desarrollar código.
<security-constraint> <web-resource-collection> <web-resource-name>Área protegida</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>intranet</role-name> </auth-constraint> </security-constraint>
- login-config, para configurar el tipo de login que se requerirá al entrar en un área protegida previamente declarada. Dos valores posibles para los métodos de autenticación posibles son BASIC, FORM.
<login-config> <auth-method>BASIC</auth-method> <realm-name>Autentificación por formulario</realm-name> </login-config> <login-config> <auth-method>FORM</auth-method> <realm-name>default</realm-name> <form-login-config> <form-login-page>/login.jsp</form-login-page> <form-error-page>/error.jsp</form-error-page> </form-login-config> </login-config>
- security-role, para declarar los roles de usuarios de tomcat que se van a utilizar en la aplicación:
<security-role> <role-name>intranet</role-name> </security-role>
- env-entry, declara una posible entrada al entorno (environment) de la aplicación.
<env-entry> <description>welcome message</description> <env-entry-name>greetings</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>Welcome to the Inventory Control System</env-entry-value> </env-entry>
- ejb-ref, para declarar referencias a un enterprise bean:
<ejb-ref> <description>Cruise ship cabin</description> <ejb-ref-name>ejb/CabinHome</ejb-ref-name> <ejb-ref-type>Entity</ejb-ref-type> <home>com.titan.cabin.CabinHome</home> <remote>com.titan.cabin.Cabin</remote> </ejb-ref>
Technorati Tags: web.xml