2011-10-29 15 views
11
<servlet-mapping> 
    <servlet-name> s1</servlet-name> 
    <url-pattern> /abc </url-pattern> 
</servlet-mapping> 

<servlet-mapping> 
    <servlet-name> s2</servlet-name> 
    <url-pattern> /abc </url-pattern> 
</servlet-mapping> 

<servlet-mapping> 
    <servlet-name> s3</servlet-name> 
    <url-pattern> /* </url-pattern> 
</servlet-mapping> 

¿Qué servlet se llamará si viene una solicitud/abc? ¿Por qué?¿Qué pasa si el patrón url coincide con múltiples servlets?

Respuesta

16

Check this. En resumen:

  • si las asignaciones tienen exactamente el mismo patrón, no hay garantía de que servlet one se invoque. Así que evita eso.
  • Si los patrones se superponen, se selecciona el más específico. (/abc es más específico que /*)
+0

Buena explicación, y el enlace proporcionado es impresionante, fácil de entender. – CuriousMind

Cuestiones relacionadas