Esto es similar a this question, pero todavía estoy confundido acerca de mi situación. Quiero trazar este patrón de estilo hormiga a un método de control:Usando Spring @RequestMapping con comodines
/results/**
Es decir, quiero cualquier URL como www.hostname.com/MyServlet/results/123/abc/456/def/
para ir a este método. Tengo:
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/results/*</url-pattern>
</servlet-mapping>
y:
@RequestMapping(value="/**", method=RequestMethod.GET)
public ModelAndView handleRequest() {...}
Esto funciona para guiar la solicitud a mi método, pero me lleva a varias preguntas:
- ¿Y si añado otra correlación de servlets, como
<url-pattern>/another-mapping/*</url-pattern>
??? ¡También se asignará a ese método! ¿Cómo puedo separar los dos? - ¿Por qué funciona el url-pattern
/results/*
, mientras que/results/**
no? De acuerdo con los estilos de ruta de hormiga,**
significa incluir caracteres anidados/
, mientras que*
se detiene en el siguiente/
. Por lo tanto, solo debe correlacionar correctamente una URL como/results/123
, bot NO/results/123/abc/
. ¿Derecha?
Acabo de empezar una recompensa por esto. Mira mis comentarios en la primera respuesta ... –