最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

介紹Jersey-Jersey入門基礎

 更新時間:2013年02月18日 17:21:25   作者:  
REST不是一種新的技術(shù),而僅僅是一個理論,實踐這樣的理論可以讓我們的應用更加先進。
這里不準備討論REST的細節(jié)內(nèi)容,但是總體上,REST是讓客戶端與服務器段的交互通過發(fā)送和接收展示資源的方式來進行,在這里有必要說明:

  Fielding是http協(xié)議和apache web server的核心作者之一。舉個例子:
  一個http get request可以接收到一個資源
  一個http post request可以生成一個資源。

  如此描述,對JAVA開發(fā)者來講也許過于底層了,事實上絕大多數(shù)的J2EE  應用程序,尤其javaserver faces應用程序是不允許REST這樣的風格框架的,所以后面我們會仔細比較JavaServer Faces與REST應用之間的區(qū)別。JSR311描述了如何在JAVA中實踐REST的架構(gòu)風格。

  實現(xiàn)JSR311的框架已經(jīng)有一些了,比如今天要介紹的Jersey. Jersey目前看是比較成熟,在開發(fā)中應用最廣泛,而且被oracle提供支持的開源框架。

  一,使用 NetBeans JavaServer Faces,來建立一個例子應用程序

  這個例子是關(guān)于文章投票的系統(tǒng),一篇文章,需要有文章內(nèi)容,作者,投票三個實體,實際上就是我們前面說的資源(針對REST)。
  需要說明的這里的文章內(nèi)容,作者,和投票實體在代碼層面都是映射成類的哦。
  在這個測試應用中,我們僅在三個實體上生成一個CRUD(create,read,update,delete)基礎功能,雖然簡單,但是基礎可用。
  但是這樣的程序有個比較大的問題:
  程序的VIEW層只能使用JavaServer Faces,而REST風格的程序,可以使用多種格式來展示應用資源的狀態(tài)信息,例如XML,PDF,JavaScript Object Notation (JSON)等。

  二,建立基于REST的客戶端

  NetBeans,可以幫助你自動整個建立過程。
  1,右鍵你的項目,然后進行如下選擇 New > RESTful Web Services from Entity Classes
  2,選中前面所建立好的但個實體
  3,對于轉(zhuǎn)換選擇包 fr.responcia.otn.articleevaluator.rest.converter
  對于資源選擇包fr.responcia.otn.articleevaluator.rest.resource
  4,選擇Create default REST servlet adaptor in web.xml
  NetBeans事實上生成兩組類,一組類用來映射實體類到XML文檔,通過使用JAXB技術(shù)。
  另一組是資源,每個資源包括了一類實體的所有實例。以方便客戶端的操作和在服務器及客戶端進行交換。
  我們可以使用REST的接口來對實體進行操作,在resource包中,你可以通過查看類,可以發(fā)現(xiàn)URLS和針對每個實體的顯示層是如何進行
  構(gòu)建的。
  因為在前面我們實現(xiàn)了兩個作者的實體實例,所以當你訪問如下地址http://localhost:8080/ArticleEvaluator/resources/authors的時候,你
  可以看到如下界面:
  你會看到兩個作者的列表信息(圖片省略了),當然你也可以通過如下的地址訪問具體的某一個作者:
  http://localhost:8080/ArticleEvaluator/resources/authors/1/
  測試REST應用
  只使用WEB瀏覽器是不能全面測試REST應用的,因為我們還使用了JSON對象,JSON對象被廣泛的應用到REST的應用中。

  JSON比純粹的XML格式更好,可以被JS腳本訪問??梢越Y(jié)合jquery使用。

  測試REST應用,可以使用兩種方法來進行:

  1,使用Jsersey提供的測試框架
  2,使用底層的庫,例如Apache Commons HttpClient ,來手工處理HTTP Request.
  通常第一種方法,比較有效率,因為是框架,但是想知道更多的細節(jié)則需要使用方法2,你可以到 http://hc.apache.org/httpclient-3.x/ 下載
  HttpClient.

  測試方法通常包括三個:

  createArticle()    --生成Article
  testResourceAsXml()--測試XML的格式
  testResourceAsJson()

  比較下 JavaServer Faces and a REST 兩中不同類型的客戶端:

  1,兩種客戶端都可以使用NetBeans幫助生成。
  2,兩種前端都使用了實體對象的概念。
  3,兩種前端可以同時使用,不會有什么沖突。

  下面是比較有區(qū)別的地方:

  1,JSF的應用狀態(tài)保存在了服務器端,用戶的操作狀態(tài)都保存到了HttpSession 而REST則是把狀態(tài)保存到了客戶端。
  使用 REST URLs 來跟資源進行交互,這也是為什么JSF比較容易編碼的原因。
  2,JSF提供了豐富的用戶界面組件,如果你的應用中需要界面,那么使用JSF則比較有效率,后者沒有界面組件,只能結(jié)合JQUERY等來使用。
  3,REST擁有better-looking URLs這樣可以被用戶進行書簽收藏,也方便搜索引擎收錄。
  4,REST提供了對同一資源進行多格式顯示的可能,例如XML,PDF,JDON等。

相關(guān)文章

  • Mybatis給數(shù)據(jù)庫敏感字段加解密詳解

    Mybatis給數(shù)據(jù)庫敏感字段加解密詳解

    這篇文章主要介紹了Mybatis給數(shù)據(jù)庫敏感字段加解密詳解,為了保護數(shù)據(jù)庫敏感字段數(shù)據(jù)安全,有時候我們需要將敏感數(shù)據(jù)加密入庫,查詢時再解密成明文,我們可以利用Mybatis自定義TypeHandler來處理,需要的朋友可以參考下
    2023-11-11
  • Java實現(xiàn)給微信群中定時推送消息

    Java實現(xiàn)給微信群中定時推送消息

    這篇文章主要為大家詳細介紹了Java如何實現(xiàn)給微信群中定時推送消息的功能,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以了解一下
    2022-12-12
  • 一篇文章帶你深入了解Java基礎(3)

    一篇文章帶你深入了解Java基礎(3)

    這篇文章主要給大家介紹了關(guān)于Java中方法使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-08-08
  • Spring的@Configuration使用與原理

    Spring的@Configuration使用與原理

    這篇文章主要介紹了Spring的@Configuration使用與原理,@Configuration用于定義配置類,可替換xml配置文件,被注解的類內(nèi)部包含有一個或多個被@Bean注解的方法,需要的朋友可以參考下
    2023-05-05
  • Java中單例模式詳解

    Java中單例模式詳解

    這篇文章主要介紹了Java中單例模式詳解,單例模式包括了懶漢式單例、餓漢式單例、登記式單例三種,想要了解的朋友可以了解一下。
    2016-11-11
  • IntelliJ IDEA最佳配置(推薦)

    IntelliJ IDEA最佳配置(推薦)

    這篇文章主要介紹了IntelliJ IDEA最佳配置,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • java日期格式化SimpleDateFormat的使用詳解

    java日期格式化SimpleDateFormat的使用詳解

    這篇文章主要介紹了java SimpleDateFormat使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • Java class文件格式之屬性詳解_動力節(jié)點java學院整理

    Java class文件格式之屬性詳解_動力節(jié)點java學院整理

    這篇文章主要介紹了Java class文件格式之屬性詳解,需要的朋友可以參考下
    2017-06-06
  • Idea中添加Maven項目支持scala的詳細步驟

    Idea中添加Maven項目支持scala的詳細步驟

    這篇文章主要介紹了Idea中添加Maven項目支持scala,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • springboot中的Application.properties常用配置

    springboot中的Application.properties常用配置

    這篇文章主要介紹了springboot中的Application.properties常用配置,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05

最新評論

垦利县| 新蔡县| 晋城| 沂水县| 汾阳市| 安阳县| 嘉义市| 通州市| 徐水县| 托克逊县| 周口市| 高陵县| 曲阳县| 东乌珠穆沁旗| 虹口区| 台前县| 禹城市| 南昌市| 孟州市| 文成县| 北辰区| 游戏| 东乡| 科尔| 渭南市| 黄平县| 镇平县| 鹤岗市| 昌吉市| 大埔县| 大同市| 陆良县| 玉山县| 邵东县| 乌苏市| 即墨市| 永平县| 望城县| 山东| 扎赉特旗| 会同县|