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 入門示例
總結
以上是生活随笔為你收集整理的jersey 入门示例_Jersey Web Service Hello World Java示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓游戏摩托车推荐(安卓游戏摩托)
- 下一篇: java美元兑换,(Java实现) 美元