日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

使用GlassFish 4.0测试驱动Java API以处理JSON

發布時間:2023/12/3 javascript 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用GlassFish 4.0测试驱动Java API以处理JSON 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

編寫規范并為其做出貢獻是一回事。 如果您想提供寶貴的反饋意見,請使用它并研究真實的示例。 最新推廣的GlassFish構建包含重命名為4.0,我認為現在是對Java處理JSON(JSON-P)API進行測試的好時機。

獲取啟用了Java EE 7的GlassFish 4.0

首先要做的是從升級的版本中獲取最新的啟用Java EE 7的GlassFish 4.0的副本。 我正在使用GlassFish Server開源版4.0(內部版本77 ),它似乎非常穩定。 但是總的來說,如果您要嘗試這樣做,請記住,升級后的版本基本上是開發版本和不穩定版本的
GlassFish 4.0正在進行的工作。 抱怨他們沒有多大意義。 將下載文件解壓縮到合適的位置。 對于后續步驟,您需要更新modules目錄中的JSON-P RI。 遵循Arun的博客,了解如何獲取和構建JSON-P RI ,并將jsonp?git \ impl \ target \ javax.json-1.0-SNAPSHOT.jar復制到glassfish4 \ glassfish \ modules \ javax.json.jar。 如果在此步驟中做錯了什么,請確保制作一份原件的副本。 如果您對此感到不舒服,也可以稍后跳過它并選擇其他依賴項……事實是,JSON-P API在過去幾個月中發生了很大變化,GlassFish包含的b02不再適合給你看任何東西。 因此,現在,我們必須對其進行一些調整。 之后,您將可以將全新的GlassFish安裝集成到您最喜歡的IDE(可能是NetBeans)中 。

創建一個新的Java EE 7項目

Java EE 7原型位于codehaus.org快照存儲庫中。 為了通過NetBeans有效地使用它,您必須在“ Maven存儲庫”下的“服務”選項卡上配置存儲庫。 存儲庫URL為https://nexus.codehaus.org/content/repositories/snapshots/。 處理索引可能需要一段時間。 之后,繼續執行“新建項目> Maven>來自原型的項目”向導,并在搜索框中輸入“ webapp-javaee7”。 選擇0.1-快照,然后單擊“完成”。 另外,您始終可以使用以下命令行:

mvn -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=webapp-javaee7 -DarchetypeVersion=0.1-SNAPSHOT -DarchetypeRepository=https://nexus.codehaus.org/content/repositories/snapshots/ -DgroupId=net.eisele.sample -DartifactId=javaee7-jsonp -Dversion=1.0-SNAPSHOT -Dpackage=net.eisele.javaee7jsonp -Darchetype.interactive=false --batch-mode --update-snapshots archetype:generate

現在打開項目并編輯pom.xml。 將javaee-web-api的范圍更改為提供的范圍,并添加json-api依賴項,如下所示:

<dependencies><dependency><groupId>javax.json</groupId><artifactId>javax.json-api</artifactId><version>1.0-SNAPSHOT</version><scope>provided</scope></dependency><dependency><groupId>javax</groupId><artifactId>javaee-web-api</artifactId><version>7.0-b72</version><scope>provided</scope></dependency></dependencies>

請確保使用版本1.0-SNAPSHOT和_not_正式記錄的1.0-b02 。 我們希望將第一段中構建的最新快照與所有新API一起使用。如果您決定不采用“以自己的方式構建”,則可以簡單地使用maven Central的1.0-b04。 這也有效。 請確保完全具有此依存關系順序。 如果沒有,您將使用javaee-web-api依賴項隨附的舊b02。 有人說過,Maven很簡單嗎? 現在就這樣。 讓我們創建一個簡單的JAX-RS端點。

添加JAX-RS人員資源

首先要做的是編寫基本的JAX-RS資源。 您可以通過NetBeans的“來自Pattern的RESTful Web服務”向導來完成此操作,也可以自己概述以下簡短類:

@Path('person') public class PersonResource {public PersonResource() {}@GET@Produces('application/json')public String getJson() {return '[]';}

該課程需要注冊。 您可以使用Jerseys servlet機制來執行此操作,也可以使用特定于應用程序的ApplicationConfig自己注冊它:

@javax.ws.rs.ApplicationPath('webresources') public class ApplicationConfig extends Application {@Overridepublic Set<Class<?>> getClasses() {Set<Class<?>> resources = new java.util.HashSet<>();resources.add(net.eisele.javaee7jsonp.PersonResource.class);return resources;} }

哇..這應該是目前為止。 您應該給它試駕。 將其部署到您的域,然后嘗試http:// localhost:8080 / javaee7-jsonp / webresources / person。 它應該只打印空括號[]。 現在是時候添加一些JSON-P了。

使用JSON-P構建JSON對象

我們將使用基于DOM的API構建人的JSON表示形式。 用以下代碼替換PersonResource中的return語句:

JsonObjectBuilder builder = Json.createObjectBuilder();builder.add('person', Json.createObjectBuilder().add('firstName', 'Markus').add('lastName', 'Eisele'));JsonObject result = builder.build();StringWriter sw = new StringWriter();try (JsonWriter writer = Json.createWriter(sw)) {writer.writeObject(result);}return sw.toString();

現在,讓我們使用我最喜歡的Chrome擴展程序來看看我們擁有的功能:


顯然可以。 反過來,這將意味著讀取傳入的JSON。 看起來可能如下所示:

String json = '{\n'+ ' \'person\': {\n'+ ' \'firstName\': \'Markus\',\n'+ ' \'lastName\': \'Eisele\'\n'+ ' }\n'+ '}';JsonReader jr = Json.createReader(new StringReader(json));JsonValue value = jr.readObject();jr.close();

除了DOM-API之外,您還擁有一個Streaming-API,該API使用

JsonGenerator generator = Json.createGenerator(new FileWriter(..))JsonParser parser = Json.createParser(new StringReader(...));

生成和解析JSON。 請查看最新的JavaDoc以獲取完整參考。 繼續嘗試自己開車。

參考:來自JCG合作伙伴 Markus Eisele在企業軟件開發和Java博客上測試了用于驅動GlassFish 4.0處理JSON的Java API 。

翻譯自: https://www.javacodegeeks.com/2013/02/test-driving-java-api-for-processing-json-with-glassfish-4-0.html

總結

以上是生活随笔為你收集整理的使用GlassFish 4.0测试驱动Java API以处理JSON的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。