. Я не понимаю, как работает DefaultAnnotationHandlerMapping.
В my web.xml У меня есть
<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>
У меня такой контроллер,
@RequestMapping(value="/user/adduser", method={RequestMethod.POST})
public void addAdmin(@ModelAttribute("myData") myData data) {
System.out.println("We reached adduser controller");
}
А в файле jsp у меня
<form:form id="adduser" method="post" action="/user/adduser" commandName="myData">
Это не работает. Я получаю сообщение об ошибке: для «/ adduser» и 404 для страницы «/ user / adduser»
не найдено сопоставление обработчика. Но в XML-файле, если я упоминаю
<url-pattern>/user/adduser</url-pattern>
, он работает, или если я делаю контроллер как,
@RequestMapping(value="/adduser", method={RequestMethod.POST})
тоже работает. При отправке страницы она достигает нужного контроллера.
Я не понимаю, как работает @ReuqestMapping. Когда приходит запрос типа "/ user / adduser", откуда он начинает искать нужный класс и правильный метод?