java web-applications jetty servlet-3.0

java - ¿Qué hace una declaración de aplicación web compatible con Servlet 3.0 en web.xml?



web-applications jetty (1)

Estoy implementando una aplicación web declarada en web.xml y desplegada como un archivo .war.

Me estoy desplegando en Jetty 9.1.x (pero creo que esta pregunta no es específica del contenedor).

Mi archivo web.xml es bastante viejo y se declara a sí mismo como una aplicación Servlet 2.4:

<web-app version="2.4" id="my_app" 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/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

Mi configuración realmente declara algunas características de Servlet 3.0, como una página de error predeterminada. Estas características no se validan de acuerdo con el esquema, pero las funciones parecen funcionar correctamente.

Como uso las funciones de 3.0, me gustaría cambiar la declaración para que sea correcta:

<web-app 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" version="3.0">

Pero tengo miedo de hacer esto porque no entiendo cuál será la diferencia para Jetty.

¿El cambio de la declaración tendrá algún efecto en el comportamiento del tiempo de ejecución de Jetty? ¿Jetty trata una aplicación 2.4 de alguna manera diferente a una aplicación 3.0?


Debería poder simplemente intercambiar la declaración de esquema de 2.4 a 3.0 .

Método científico

Inicialmente me puse a probarlo haciendo diff entre 2.4 y 2.5 y otro comparando 2.5 y 3.0 .

Me he convencido de que las diferencias entre 2.4 y 2.5 son solo aditivas y el espacio de nombres ha cambiado de j2ee a javaee .

Sin embargo, el esquema xsd para 3.0 es más pequeño que 1/3 de las otras dos versiones. No estoy seguro de cómo proceder en este caso (¡cualquier idea es bienvenida!)


Puede descargar todos los esquemas desde aquí y hacer la comparación usted mismo:


Método no tan científico

Estos son los nuevos artículos que describen cada versión nueva del estándar:

Si lees, los cambios al descriptor web.xml mencionados en los artículos son minutos.

Lo que haría sería simplemente enumerar todos los elementos en su web.xml original y confirmar que existen en este documento que describen el esquema 3.0 .

¡Espero que esto ayude!