example web-applications web.xml

web applications - example - ¿Qué es el archivo web.xml y qué puedo hacer con él?



web.xml example (8)

Los Elementos de Descriptor de Despliegue web.xml en la Documentación de BEA WebLogic Server 8.1 de Oracle resumen bastante cada elemento en un archivo web.xml. Pero también siento curiosidad por los puntos a continuación:

  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?


¿Qué debo saber sobre 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. Damas y caballeros, 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 su HTML generado si usa cualquier biblioteca de etiquetas (los bucles son particularmente feos y derrochadores).

El otro grande es la página web predeterminada (la página que se envía automáticamente cuando no ingresas a una página web en la URL):

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


¿Qué es el archivo web.xml y qué puedo 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 lo que un servidor necesita saber sobre su aplicación (excepto la ruta de contexto, que asigna el Despachador de aplicaciones y el Administrador cuando se implementa la aplicación): servlets y otros componentes como filtros u oyentes, inicialización parámetros, 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 pocos cambios en Java EE 5 y aún más en Java EE 6 (lo que hace que web.xml "opcional" e introduce Fragmentos web ).

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

No.

¿Algún parámetro relacionado con el rendimiento o el uso de la memoria?

No, tales cosas no están configuradas en el nivel de la aplicación, sino en el nivel del contenedor.

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

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


  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 de servlets ( server.xml en tomcat)
  3. No. Pero el servlet predeterminado (mapeado en un web.xml en una ubicación común en su contenedor de servlets) preferiblemente debería deshabilitar las listas de archivos (para que los usuarios no vean el contenido de sus carpetas web):

    listados verdaderos


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


Si utilizamos Struts, desactivamos el acceso directo a los archivos JSP utilizando 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/>


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>


Archivo de descriptor de implementación "web.xml": mediante el uso adecuado del archivo descriptor de implementación, 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 y el control de los tiempos de espera de la sesión.

web.xml : se usa para controlar muchas facetas de una aplicación web. Con web.xml, puede asignar URL personalizadas para invocar servlets, especificar 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í.


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