我真的很困惑。我尝试使用Jax-rs和Tomcat,并使用所有的注释来通过url
调用我的服务。所以没有Jax-rs,我可以简单地使用servlet并调用我的服务。此外,正如我所尝试过的,有Jax-rs带有jersey(据我研究是JAX-RS
的实现),在web.xml中有以下内容。
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>OutputUi</display-name>
<servlet>
<servlet-name>jersey-serlvet</servlet-name>
<servlet-class>
com.sun.jersey.spi.container.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>org.xxx.carbon.servlet</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey-serlvet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
然后我有一个与JAX-RS相同的注释,在GET上,我可以使用正确的URL调用我的服务。
我的问题是,为什么jersey要使用servlet?而JAX-RS不使用servlet呢?既然我们可以只使用Servlet,为什么要使用JAX-RS呢?