RequestMapping для контроллеров для разных сервлетов - PullRequest
0 голосов
/ 27 октября 2010

У меня проблема с моим контроллером пружин / отображением запросов. В web.xml я определил 2 сервлета диспетчера, которые отображают следующие пути запроса:

  1. Сервлет: / pathA / *
  2. Servlet / pathB / *

Все мои контроллеры определены в пакете com.myproject.controllers, поэтому оба контроллера служат для путей в / pathA / * и / pathB / *. Я делаю компонентное сканирование в обоих моих сервлетах. Как мне нужно установить аннотации ReuestMapping для следующего контроллера:

@Controller
public class MyController {

  // /pathA
  public void action1() {
  }

  // /pathA/action2
  public void action2() {
  }
}

Я действительно запутался здесь, я пробовал так много разных вещей, надеюсь, вы мне поможете!

С уважением, Heinrich

Ответы [ 2 ]

0 голосов
/ 27 октября 2010

Если вам действительно нужно использовать несколько DispatcherServlet, возможно, лучший способ - это поместить их контроллеры в отдельные пакеты и ограничить проверку компонентов каждого сервлета отдельным пакетом.

Если вы не можете сделать этоПо какой-то причине вы можете настроить свои сервлеты следующим образом:

<bean class = "org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
    <property name = "alwaysUseFullPath" value = "true" />
</bean>

В этом случае вы можете использовать пути сервлетов в @RequestMapping, как показал Стас.

0 голосов
/ 27 октября 2010

попробуй smt вот так

 @RequestMapping(method = RequestMethod.GET, value = "/pathA")
 @RequestMapping(method = RequestMethod.GET, value = "/pathA/bla-bla")

если это не поможет, есть какой-то вариант с urlrewriters.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...