我真的很困惑。我尝试过使用tomcat来使用Jax-rs,并使用了使用url
调用我的服务的所有注释。因此,没有Jax-rs,我就可以拥有一个servlet并调用我的服务。此外,正如我已经尝试过的,有jax-rs与泽西(正如我已经研究过它的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相同的注释,在GET上,我可以用正确的URL调用我的服务。
我的问题是,为什么泽西使用servlet?JAX-RS
不使用servlet?为什么要使用JAX-RS
,而我们可以使用公正的Servlet。
发布于 2018-05-25 05:34:41
贾克斯-RS
JAX是创建REST的标准。甚至您也可以构建一个像jersey这样的库来构建标准的实现。JAX是JavaEE堆栈的一部分,就像JMS和其他部分一样。因此,像JBoss这样的应用服务器与jax和jms捆绑在一起。
为什么是泽西?
JAX没有和tomcat捆绑在一起。泽西可以使用servlet容器,如Tomcat、Jetty等,这类似于ApacheMQ,它可以使容器执行JMS。它旨在扩展servlet以创建rest端点。它也是JAX的一个实现.实现该标准使其与为JAX编写的代码一致。
备选方案
有apache-cxf,它实现JAX并同时执行SOAP & REST。我已经用球衣好几年了。因为我喜欢和tomcat一起工作。现在,我们帮助构建了元胞,这是一个基于tomcat的框架。
发布于 2015-03-19 16:14:14
JAX定义了一些标准和规则.一般来说,泽西岛是一个JAX-RS实现。
但更具体地说,Jersey
是一个比JAX参考实现更多的框架。泽西提供了自己的API,该API扩展了JAX工具包,并提供了其他特性和实用程序,以进一步简化RESTful服务和客户端开发。
https://stackoverflow.com/questions/29149650
复制相似问题