如何仅使用注释(无 web.xml)设置 JAX-RS 应用程序?
是否可以仅使用注释来设置 JAX-RS 应用程序?(使用 Servlet 3.0 和 JAX-RS Jersey 1.1.0)
我试过了,但没有运气。使用一些似乎是必需的。web.xml
配置 A(工作正常,但具有 Web .xml 配置)
网.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>
...
爪哇岛
@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
问题
为什么网络.xml定义有效,但注释不起作用?有什么区别?
有没有办法让它工作,例如,有一个没有web.xml的JAX-RS应用程序?