Чи можна налаштувати програму JAX-RS, використовуючи лише анотації? (за допомогою Servlet 3.0 та JAX-RS Jersey 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?