2010-02-22 479 views
64

El web.xml Deployment Descriptor Elements en Oracle BEA WebLogic Server 8.1 La documentación prácticamente resume cada elemento en un archivo web.xml. Pero también tengo curiosidad por los puntos a continuación:¿Qué es el archivo web.xml y qué puedo hacer con él?

  1. ¿Hay algún parámetro de configuración que deba evitarse como la peste?
  2. ¿Algún parámetro relacionado con el rendimiento o el uso de la 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 los elementos y su uso?

Respuesta

89

¿Cuál es el archivo web.xml y lo que todo lo que puede hacer con él?

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

Tenga en cuenta que la referencia que ha mencionado es bastante antigua (Java EE 1.4), ha habido few changes en Java EE 5 y aún más en Java EE 6 (lo que hace que el web.xml sea "opcional" e introduce Web Fragments).

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

No.

Los parámetros relacionados con el rendimiento o el uso de memoria?

No, estos elementos no se configuran en el nivel de la aplicación sino en el contenedor.

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

Bueno, si desea utilizar las restricciones de seguridad gestionadas por el contenedor y no puede configurarlas adecuadamente, los recursos no estarán obviamente protegidos adecuadamente. Aparte de eso, los mayores riesgos de seguridad provienen del código que implementará IMO.

7
  1. No, no hay nada que se debe evitar
  2. Los parámetros relacionados con el rendimiento no están en web.xml que están en los archivos de configuración del contenedor de servlets (server.xml en Tomcat)
  3. No. Pero el servlet por defecto (asignada en web.xml en un lugar común en el contenedor de servlets) debe desactivar preferentemente listados de archivos (por lo que los usuarios no ven los contenidos de las carpetas web):

    listados verdadera

6

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

+0

ser un poco cuidadoso sin embargo, porque encontré un lugar donde un guión fue reemplazado por un guión bajo. (que demoró mucho tiempo en depurarse). – sixtyfootersdude

+1

¿por qué no agregas el comentario a tu respuesta? – Bozho

25

Lo que todo debo tener en cuenta Web.xml aparte del nombre del elemento y su uso ?

El parámetro de configuración JSP más importante de ALL TIME está en su web.xml. Señoras y señores, les doy ... 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 el código HTML generado si utiliza cualquier biblioteca de etiquetas (bucles son particularmente fea & desperdicio).

El otro grande es la página web por defecto (la página que mandan automáticamente a cuando no se introduce una página web en la URL):

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

Si se utiliza puntales, desactivamos acceso directo a los archivos JSP mediante el uso de 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/> 

0

archivo descriptor de despliegue "web.xml": a través del uso adecuado del archivo de descriptor de despliegue , web.xml, puede controlar muchos aspectos del comportamiento de la aplicación web , desde la precarga de servlets, hasta la restricción del acceso a los recursos de , para controlar el tiempo 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 los parámetros de inicialización para toda la aplicación, así como para servlets específicos, controlar tiempos de espera de sesión, declarar filtros, declarar roles de seguridad, restringir el acceso a recursos web basados ​​en roles de seguridad declarados, y así sucesivamente.

0

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
<?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> 
Cuestiones relacionadas