Jersey vs Jersey(独立版)vs Jersey with Grizzly vs Jersey with Tomcat - 用于REST服务?

20
Jersey与Jersey(独立版)与带有Grizzly的Jersey与带有Tomcat的Jersey之间在REST服务方面有什么区别?
我可以在不需要额外服务器的情况下运行Jersey吗?

请查阅REST Web服务和RESTful架构。 - Clyde D'Cruz
1个回答

29

Jersey本身是一个用于构建RESTful Web服务的框架。虽然它作为JAX-RS API的参考实现,但它也可以用于其他模式。

独立模式 - 在Java(JDK 1.6或以上)上使用纯Jersey API。Jersey为此提供了API。

与Grizzly一起使用的Jersey - Grizzly是另一个框架,可使用Java NIO模型作为HTTP / Web服务器。要使用Jersey与Grizzly,请相应地进行配置。因此,将Grizzly视为您的JAX-RS(RESTful)资源的容器,并在您使用JAX-RS API的高级抽象时处理所有HTTP管道。

在Tomcat上使用Jersey - Tomcat是一个Servlet容器。只需配置Tomcat应用程序的web.xml,就可以轻松配置JAX-RS以使用纯Servlet容器。

在Java EE容器上使用Jersey - 以Glassfish为例,它是Java EE平台的RI(参考实现)。 Jersey已经在Glassfish中预装了。因此,要在Java EE服务器上构建RESTful应用程序,您只需要编写业务逻辑(REST服务)并将项目(EAR / WAR)部署到服务器上 - 不需要进行任何额外的管道/配置(除非是特殊情况)。

希望这有些意义?:-)


我很想知道在性能特征、维护、操作、配置等方面是否有重要的区别。 - crowder
1
讲解得非常清楚。请参阅 https://github.com/jersey/jersey/tree/master/containers 以获取 Jersey 支持的容器列表。正如上面所解释的,它从非常低级别(纯 http 容器无需 servlet 环境)到 servlet 2.5 和 3.x 集成(可在几乎任何地方使用 - jetty、tomcat、完整的应用服务器),再到特定的 EE 环境支持(CDI/Weld 支持)。文档列出了这些内容,但目前 java.net 已经关闭,因此我无法提供精确的链接 - 请从 http://jersey.java.net -> documentation 开始。 - AdamL

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接