servlet pattern name configurar agregar tomcat servlets web.xml netbeans-7

tomcat - pattern - muchos patrones de URL para el mismo servlet



xml servlet java (2)

Necesito asignar el mismo servlet en dos URL diferentes. Utilicé netbeans 7.0.1 para gestionar todo mi proyecto, así que utilicé su amigable interfaz para modificar el archivo web.xml. Lo que netbeans creado es esto:

<servlet-mapping> <servlet-name>fred</servlet-name> <url-pattern>*.jsp</url-pattern> <url-pattern>/url</url-pattern> </servlet-mapping>

Esto es leído por tomcat 5.5 sin emitir ningún error, pero solo el segundo patrón funciona, mientras que el primero es ignorado.

Google ha encontrado que el camino correcto para Tomcat es este:

<servlet-mapping> <servlet-name>fred</servlet-name> <url-pattern>*.jsp</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>fred</servlet-name> <url-pattern>/url</url-pattern> </servlet-mapping>

Entonces, mis preguntas: ¿es esto pero en Tomcat? ¿Qué sintaxis aceptan otros contenedores?

Gracias, Giuseppe


El contenedor Tomcat admitirá 3 patrones de URL:

  1. secuencia de caracteres completa
  2. /*
  3. *. ext (estrella significa cualquier cosa)

/* se recomienda para un solo marco

si usa framework múltiple entonces recomienda .*


Supongo que tiene más que ver con la especificación de servlet que usa el contenedor / netbeans en lugar de ser un problema con el contenedor. Su red de frijoles parece estar utilizando la especificación 2.5 para construir el mapeo de servlet y por lo tanto obtienes

<servlet-mapping> <servlet-name>fred</servlet-name> <url-pattern>*.jsp</url-pattern> <url-pattern>/url</url-pattern> </servlet-mapping>

Lea más sobre esto here . Dice

Las versiones anteriores del esquema de servlet solo permiten un único patrón de url en una asignación de filtro. Para los filtros asignados a varias URL, esto da como resultado la innecesaria repetición de cláusulas de mapeo completo.