Как работает DefaultAnnotationHandlerMapping

. Я не понимаю, как работает 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", откуда он начинает искать нужный класс и правильный метод?

5
задан kalyan 21 April 2011 в 07:32
поделиться