当前位置: 首页 > article >正文

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 入门示例

http://www.lryc.cn/news/2416351.html

相关文章:

  • 12款国内外企业协作工具推荐
  • SEO数据监控技巧都有哪些?
  • 如何优化网页加载速度?
  • 如何利用Python监控你女/男朋友每天都在浏览什么网站?
  • 表白,整人,无门槛,娱乐代码
  • Mac+virtualbox安装win7
  • NRF24L01 无线模块
  • CSS min-height 属性
  • STM32F103实验定时器
  • javascript——JS 实现下拉菜单
  • 消费者行为分析模型
  • eXtremeComponents指南
  • 做个计算器--生成注册码
  • 计算机CMOS设置详解
  • JAVA 面试题经典(附答案)
  • Windows系统中设置软件开机自启动
  • 驾驶理论模拟考试 - 网上模拟系统
  • 内网渗透篇-信息收集
  • html跟随鼠标代码,跟随鼠标特效代码
  • rost反剽窃检测系统_如何才能快速通过知网论文查重系统的查重?
  • ubuntu 10.04 lucid lts dvd download
  • linux中文man 2手册,linux中文man手册安装
  • 安卓开发学习网址
  • eclipse中文语言包下载、安装与配置
  • Mac OS X v10.6 或更高版本:重新启动后 iTunes 无法识别 iOS 设备
  • Office 2007 SP3 正试版补丁包下载
  • 神书《笛卡儿几何》读后感
  • CSS——Margin(外边距)| 宽高属性
  • 模拟进程状态转换
  • 谦卑若愚,好学若饥(Stay Hungry,Stay Foolish)