Можно ли настроить приложение JAX-RS только с помощью аннотаций? (используя Servlet 3.0 и JAX-RS Джерси 1.1.0)
Я попробовал и не повезло. Рекомендуется использовать некоторые web.xml
.
Конфигурация A (рабочая, но имеет конфигурацию web.xml)
web.xml
...
<servlet>
<servlet-name>org.foo.rest.MyApplication</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>org.foo.rest.MyApplication</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
...
Java
@ApplicationPath("/")
public class MyApplication extends Application {
...
}
Конфигурация B (не работает, исключение выбрано)
@ApplicationPath("/")
@WebServlet("/*") // <--
public class MyApplication extends Application {
...
}
Последний, похоже, настаивает на том, что приложение будет подклассом Servlet (исключение не оставляет догадок)
java.lang.ClassCastException: org.foo.rest.MyApplication cannot be cast to javax.servlet.Servlet
Вопросы
-
Почему работало определение web.xml, но аннотации не было? Какая разница?
-
Есть ли способ, чтобы он работал, например. есть приложение JAX-RS без web.xml?