天天看點

jersey 學習資料(初學時記的筆記)

jersey是一種 restful架構,使用它為我們提供接口。有三塊重要的東西,jersey-server,jersey-core, 內建(與spring等等)。

相關解釋:

資源類(Resource Class):注意,資源類是一個簡單的 Java 對象 (POJO),可以實作任何接口。這增加了許多好處,比如可重用性和簡單。

注釋(Annotation):在 javax.ws.rs.* 中定義,是 JAX-RS (JSR 311) 規範的一部分。

Jersey 是Sun對JSR311的官方參考實作,而JSR311是java中實作Restful Web Service的API規範(JSR311: JAX-RS: The Java API for RESTful Web Services)。JSR311有一個重要目标:使用注解(annotation)把POJO暴露成Web Service,這樣就比較輕量級。

@Path:定義資源基 URI。由上下文根和主機名組成,資源辨別符類似于 http://localhost:8080/Jersey/rest/hello。

@GET:這意味着以下方法可以響應 HTTP GET 方法。

@Produces:以純文字方式定義響應内容 MIME 類型。

JAX-RS提供了一些标注将一個資源類,一個 POJO 的 Java 類,封裝為Web資源。标注包括:

@Path,标注資源類或方法的相對路徑;

@GET,@PUT,@POST,@DELETE,标注方法是用的HTTP請求的類型;

@Produces,标注傳回的MIME媒體類型;

@Consumes,标注可接受請求的MIME媒體類型;

@PathParam,@QueryParam,@HeaderParam,CookieParam,@MatrixParam,@FormParam,分别标注方法的參數來自于HTTP請求的不同位置,例如@PathParam來自于URL的路徑,@QueryParam來自于URL的查詢參數,@HeaderParam來自于HTTP請求的頭資訊,@CookieParam來自于HTTP請求的Cookie。

JAX-RS:Java API for RESTful Web Services 是一個 Java 程式設計語言的應用程式接口,支援按照 表象化狀态轉變 (REST)架構風格建立 Web 服務Web服務[1]。 JAX-RS使用了 Java SE 5 引入的 Java 标注來簡化 Web 服務用戶端和服務端的開發和部署。

Rest風格WEB服務(Rest Style Web Service)的真相 - 流浪的魚 - 部落格頻道 - CSDN.NET

http://blog.csdn.net/jia20003/article/details/8365585

這篇文章介紹了常見的兩種 Web Service 的處理方式為有兩種:

(1)基于WSDL/SOAP的方式

比較正統的,用戶端調用必須先取得WSDL檔案,然後生成調用的 API 才可以使用。(筆者注:這個以前我做過,還挺麻煩的。記得還要用一些工具生成調用的代碼。)

(2)Rest方式

Rest 風格 Web 服務的好處就是簡化了用戶端的調用,不再像 WSDL 那般麻煩。進而減低第三方開發者的學習成本,減短了學習曲線。有利于服務推廣與普及,吸引更多使用者數量進而帶來潛在的商業利益。

在軟體即服務(SaaS - Software As A Service)與軟體即平台(PasS-Platform As A Service)中有着重要的地位與應用。這正是那些網際網路巨頭對 Rest 風格感興趣的原因之一。

REST的優點(不是很好了解,但是先記錄一下)

1、可以利用緩存Cache來提高響應速度

2、通訊本身的無狀态性可以讓不同的伺服器的處理一系列請求中的不同請求,提高伺服器的擴充性

3、浏覽器即可作為用戶端,簡化軟體需求

4、相對于其他疊加在HTTP協定之上的機制,REST的軟體依賴性更小

5、不需要額外的資源發現機制

6、在軟體技術演進中的長期的相容性更好

DNS 有狀态,http 是無狀态協定。