jersey 入门示例_Jersey Web Service Hello World Java示例

jersey 入门示例

在Restlet之后, Jersey是另一个流行的开源框架,可以用Java创建RESTful Web服务 。 Jersey符合JAX-RS规范,实际上它是JAX-RS(JSR 311)(http://jsr311.java.net/nonav/releases/1.1/index.html)规范的参考实现。 在上一篇文章中,我们看到了Restlet HelloWorld示例 ,今天我们看到了Jersey HelloWorld示例 。 通常,当开发人员考虑使用Java创建RESTful Web服务时,他们会假定使用Java EE应用程序服务器是创建此类应用程序的唯一方法。 但是,有更简单,轻便的替代方法可用于创建可使用Java SE的RESTful应用程序。 本教程演示了使用Grizzly Web服务器和Jersey REST框架的一种替代方法。 Grizzly的主要用例是GlassFish应用程序服务器的Web服务器组件。

泽西岛HelloWorld示例

这是使用Jersey REST框架创建的简单RESTful Web服务。 当GET请求发送到“ / hello” URL时,此服务返回一条消息。 如果该请求还包含一个请求参数,那么它将在响应消息中使用。

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;

@Path(value = "/hello")
public class JerseyHelloWorldRESTService {

@GET
@Path(value="/{param}")
public String hello(@PathParam(value = "param") String name){

return "Hello " + name + ", Welcome to Jersy world of RESTful web service";
}

}

错误

球衣开始灰熊……

Jun 01, 2016 3:57:19 PM com.sun.jersey.api.core.PackagesResourceConfig init
INFO: Scanning for root resource and provider classes in the packages:

Jun 01, 2016 3:57:19 PM com.sun.jersey.api.core.ScanningResourceConfig logClasses
INFO: Root resource classes found:
class JerseyHelloWorldRESTService
Jun 01, 2016 3:57:19 PM com.sun.jersey.api.core.ScanningResourceConfig init
INFO: No provider classes found.
Exception in thread "main" java.lang.IllegalArgumentException: No container provider supports the type class org.glassfish.grizzly.http.server.HttpHandler
at com.sun.jersey.api.container.ContainerFactory.createContainer(ContainerFactory.java:196)
at com.sun.jersey.api.container.ContainerFactory.createContainer(ContainerFactory.java:134)
at com.sun.jersey.api.container.grizzly2.GrizzlyServerFactory.createHttpServer(GrizzlyServerFactory.java:242)
at JerseyServer.startServer(JerseyServer.java:24)
at JerseyServer.main(JerseyServer.java:28)

如果出现上述错误,则可以添加以下Maven依赖项(org.glassfish.jersey.containers jersey-container-jdk-http)解决问题:com.sun.net.httpserver.HttpHandler”):

<dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-jdk-http</artifactId>
        <version>2.18</version>
    </dependency>

您可以根据您的环境更改版本。 请记住,异常的错误消息显示“没有容器提供程序支持类型接口”。 这种依赖关系提供了运行
泽西岛

当心Jersey和Jersey2之间的差异

很容易将两个不同版本的Jersey混淆,在第一个版本中,类属于com.sun.jersey;在第二个版本中,框架类归于org.glassfish.jersey。 本质上,只有软件包是不同的,但是具有各种相关的JAR,Jersey 1.x中的JAR与Jersey2.x中的JAR混合在一起很容易并令人恐惧。
NoClassDefFoundError及其近亲ClassNotFoundException

软件包名称已更改,因为Jersey团队现在是Glassfish的一部分。 以下版本2使用的是com.sun.jersey软件包,但由于该公司与众不同,因此他们使用的是org.glassfish.jersey。 是的,版本1.x和2.x之间在代码方面存在更多差异。 关键要点不会将Jersey 1.x的类和JARS与Jersey 2.x混合在一起,请参阅
这里有关于错误的更多细节。

这就是有关Jersey Hello世界示例的全部内容。 Jersey框架不只是JAX-RS参考实现。 Jersey提供了自己的API,该API用其他功能和实用程序扩展了JAX-RS工具包,以进一步简化RESTful服务和客户端开发。 Jersey还公开了许多扩展SPI,以便开发人员可以扩展Jersey以最适合其需求。

您可能喜欢的其他Java REST Web服务教程

  • REST和SOAP Web服务之间的区别? ( 回答
  • 十大REST Web服务面试问题( 回答
  • 使用依赖注入的Spring HelloWorld示例( 教程
  • REST Web Service中的PUT与POST之间的区别? ( 文章
  • 如何使用Spring创建JDBC连接池? ( 教程
  • 如何使用Jackson解析大型JSON响应? ( 教程
  • Java开发人员的20个Hibernate面试问题( 文章
  • HTTP中幂等方法和安全方法之间的区别? ( 回答
  • 如何在Java中将JSON数组转换为String数组? ( 教程

参考

https://jersey.java.net/

PS –如果您想了解有关使用Jersey或Restlet在Java中开发RESTful Web服务的更多信息,建议您首先阅读一本有关JAX-RS的好书,这是这些框架背后的标准,例如
RESTful Java with JAX-RS 2.0 ,这是一本学习如何设计和开发分布式Web服务的好书。

PS –如果您想学习如何使用Spring Framework开发RESTful Web服务,请查看Eugen Paraschiv的
REST与Spring课程 。 他最近启动了该课程的认证版本,其中包含许多练习和示例,可以进一步巩固您将从该课程中学到的真实概念。

翻译自: https://www.javacodegeeks.com/2017/06/jersey-web-service-hello-world-example-java.html

jersey 入门示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值