How DefaultAnnotationHandlerMapping funciona
Estoy confundido acerca de la forma en que funciona DefaultAnnotationHandlerMapping.
En mi web.xml tengo
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/somePath/someWork</url-pattern>
<url-pattern>/users</url-pattern>
<url-pattern>/user/*</url-pattern>
</servlet-mapping>
Tengo el controlador como este,
@RequestMapping(value="/user/adduser", method={RequestMethod.POST})
public void addAdmin(@ModelAttribute("myData") myData data) {
System.out.println("We reached adduser controller");
}
Y en el archivo jsp tengo
<form:form id="adduser" method="post" action="/user/adduser" commandName="myData">
Esto no funciona. Obtengo el error de que no se encontró ninguna asignación de controlador para "/ adduser" y 404 para la página "/ user / adduser"
Pero en el archivo .xml si menciono
<url-pattern>/user/adduser</url-pattern>
funciona, o si hago el controlador como,
@RequestMapping(value="/adduser", method={RequestMethod.POST})
También funciona. Al enviar la página, llega al controlador correcto.
Ahora estoy confundido sobre la forma en que funciona @ReuqestMapping. Cuando llega una solicitud como "/ user / adduser" desde donde comenzará a buscar la clase y el método correctos?