Как заставить Tomcat7 работать с JAX-RS?

Я пытаюсь получить веб-сервис RESTful (JAX-RS) с Tomcat7. Я пробовал 3 различные реализации (Джерси, RESTeasy и Restlet) без успеха. Это должно быть легко, но как-то это не так. Я ищу обновленный учебник/документацию для аннотаций, web.xml и пример кода.

Ответ 1

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

Вот несколько руководств, которые могли бы начать:

http://www.javacodegeeks.com/2011/01/restful-web-services-with-resteasy-jax.html

http://www.vogella.de/articles/REST/article.html

http://www.mastertheboss.com/web-interfaces/273-resteasy-tutorial-.html

Ответ 2

Я использую оба Apache Wink и Jersey с Tomcat 7 и не имею проблем.

В web.xml у меня есть:

<servlet>
    <servlet-name>restSdkService</servlet-name>
    <!-- When running with Jersey use the following class: com.sun.jersey.spi.container.servlet.ServletContainer -->
    <!-- When running with Wink use the following class: org.apache.wink.server.internal.servlet.RestServlet -->
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>javax.ws.rs.Application</param-name>
        <param-value>mypackage.MyApplication</param-value>
    </init-param>
</servlet>

Возможно, вам следует уточнить, какие проблемы/исключения вы получите.

Ответ 3

tomcat 7.0.29

<dependency>
  <groupId>org.apache.cxf</groupId>
  <artifactId>cxf-rt-rs-extension-providers</artifactId>
  <version>2.7.7</version>
</dependency>

Ответ 4

Tomcat 7 не должен требовать RESTEasy, Джерси или любую другую проприетарную реализацию, если JAX-RS является неотъемлемой частью веб-профиля Java EE 6, которым он является.