Qué es web.archivo xml y qué son todas las cosas que puedo hacer con él?


La web .xml Deployment Descriptor Elements en la documentación de Oracle BEA WebLogic Server 8.1 prácticamente resume cada elemento en una web.archivo xml. Pero también tengo curiosidad sobre los siguientes puntos:

  1. ¿Hay algún parámetro de configuración que deba evitarse como plague?
  2. ¿Algún parámetro relacionado con el rendimiento o el uso de memoria?
  3. ¿Riesgo relacionado con la seguridad debido a una mala configuración común?

¿Qué más debería saber sobre web?xml aparte de los nombres de elementos y su uso?

Author: Sensei, 2010-02-22

8 answers

Qué es web.archivo xml y qué puedo hacer con él ?

El archivo /WEB-INF/web.xml es el Descriptor de Implementación de la aplicación Web de su aplicación. Este archivo es un documento XML que define todo lo que un servidor necesita saber sobre su aplicación (excepto la ruta de contexto, que es asignada por Application Deployer y Administrator cuando se implementa la aplicación): servlets y otros componentes como filtros u oyentes, parámetros de inicialización, restricciones de seguridad administradas por contenedores, recursos, páginas de bienvenida, etc.

Tenga en cuenta que la referencia que mencionó es bastante antigua (Java EE 1.4), ha habido pocos cambios en Java EE 5 y aún más en Java EE 6 (que hace que el web.xmlsea "opcional" e introduce Fragmentos Web).

¿Hay algún parámetro de configuración que deba evitarse como plague?

No.

Cualquier parámetro relacionado con el rendimiento o la memoria el uso?

No, estas cosas no se configuran a nivel de aplicación, sino a nivel de contenedor.

¿Riesgo relacionado con la seguridad debido a una mala configuración común ?

Bueno, si desea usar restricciones de seguridad administradas por contenedores y falla al configurarlas correctamente, los recursos obviamente no estarán adecuadamente protegidos. Aparte de eso, los mayores riesgos de seguridad provienen del código que implementará IMO.

 93
Author: Pascal Thivent,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-03-09 22:14:12

Lo que todo debería saber sobre web.XML aparte del nombre del elemento y su el uso ?

El parámetro de configuración JSP más importante de TODOS los TIEMPOS está en su web.XML. Damas y caballeros, les presento... la opción TRIM-DIRECTIVE-WHITESPACES!

<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <trim-directive-whitespaces>true</trim-directive-whitespaces>
    </jsp-property-group>
</jsp-config>

Esto elimina todos los cientos o miles de líneas de espacio en blanco que obtendrá en su HTML generado si utiliza alguna biblioteca de etiquetas (los bucles son particularmente desagradables y derrochadores).

El otra gran opción es la página web predeterminada (la página a la que se envía automáticamente cuando no ingresa una página web en la URL):

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>    
 27
Author: Civil Disobedient,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-03-09 22:51:46
  1. No, no hay nada que deba evitarse
  2. Los parámetros relacionados con el rendimiento no están en web.xml están en los archivos de configuración del contenedor servlet (server.xml en tomcat)
  3. No. Pero el servlet predeterminado (mapeado en una web.xml en una ubicación común en su contenedor de servlet) debería deshabilitar preferiblemente los listados de archivos (para que los usuarios no vean el contenido de sus carpetas web):

    Listados verdadero

 7
Author: Bozho,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-03-09 13:04:21

Estoy tratando de averiguar exactamente cómo funciona esto también. Este sitio puede ser útil para usted. Tiene todas las etiquetas posibles para web.xml junto con ejemplos y descripciones de cada etiqueta.

Http://wiki.metawerx.net/wiki/Web.xml

 6
Author: sixtyfootersdude,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-03-09 21:22:02

Si usamos Struts, deshabilitamos el acceso directo a los archivos JSP usando esta etiqueta en web.xml

 <security-constraint>
<web-resource-collection>
  <web-resource-name>no_access</web-resource-name>
  <url-pattern>*.jsp</url-pattern>
</web-resource-collection>
<auth-constraint/>

 3
Author: JoseK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-03-11 06:38:12
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <servlet>
    <servlet-name>mvc-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet>
    <description></description>
    <display-name>pdfServlet</display-name>
    <servlet-name>pdfServlet</servlet-name>
    <servlet-class>com.sapta.smartcam.servlet.pdfServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>mvc-dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>pdfServlet</servlet-name>
    <url-pattern>/pdfServlet</url-pattern>
  </servlet-mapping>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>
 1
Author: Kalaiselvan Velmurugan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-22 14:42:46

Descriptor de implementación file " web.xml" : Mediante el uso adecuado de la archivo descriptor de implementación, web.xml, puede controlar muchos aspectos de el comportamiento de la aplicación web, desde la precarga de servlets hasta la restricción acceso a recursos, para controlar los tiempos de espera de la sesión.

Web.xml : se utiliza para controlar muchas facetas de una aplicación web. Usando web.xml, puede asignar URL personalizadas para invocar servlets, especificar inicialización parámetros para toda la aplicación, así como para servlets específicos, control tiempos de espera de sesión, declarar filtros, declarar roles de seguridad, restringir el acceso a la Web recursos basados en roles de seguridad declarados, etc.

 0
Author: A_BOSS,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-23 14:32:17

Http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version= "3.0" >

<servlet>
    <servlet-name>mvc-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>mvc-dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

 0
Author: mohan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-04 04:32:24