是否可以仅使用注释设置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 {
...
}
后者似乎坚持认为Application将是Servlet的子类(例外不会留下任何猜测)
java.lang.ClassCastException: org.foo.rest.MyApplication cannot be cast to javax.servlet.Servlet
问题
为什么web.xml定义有效,但注释没有?有什么不同?
有没有办法使它工作,例如有一个没有web.xml的JAX-RS应用程序?
慕运维8079593
相关分类