Не удается заставить диспетчер Spring MVC работать должным образом, когда шаблон URL - это путь

У меня есть веб-приложение, которое мы применяем Spring MVC только для служб REST. В данный момент. Мы хотим, чтобы наши остальные службы отображались в $ {contextPath} / rest / ** , однако когда я устанавливаю это, мы получаем:

Не найдено сопоставление для HTTP-запроса с URI [/ myapp / rest / testSvc / message] в DispatcherServlet с именем 'Spring MVC Dispatcher Servlet'

Мой web.xml содержит:

<servlet>
  <servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
      /WEB-INF/spring/servlet-context.xml
    </param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
  <url-pattern>/rest</url-pattern>
</servlet-mapping>

servlet-context.xml , что нормально и регистрирует службы по мере их регистрации при запуске.

<context:component-scan base-package="com.mycompany.myapp.rest" />
<mvc:annotation-driven />

Мой контроллер выглядит следующим образом:

@Controller
@RequestMapping(value = "/rest/testService")
public class TestREST {
    @RequestMapping(value="message", method=RequestMethod.GET)
    public @ResponseBody String getMessage() {
        return "REST working";
    }

Если я поменяю шаблон URL ] в web.xml в * .rest и моем сопоставлении запросов для message в message.rest это работает.

6
задан skaffman 20 March 2011 в 10:45
поделиться