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

java 中HttpClient傳輸xml字符串實(shí)例詳解

 更新時(shí)間:2017年04月19日 08:38:55   投稿:lqh  
這篇文章主要介紹了java 中HttpClient傳輸xml字符串實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下

java 中HttpClient傳輸xml字符串實(shí)例詳解

介紹:我現(xiàn)在有一個(gè)對(duì)象page,需要將page對(duì)象轉(zhuǎn)換為xml格式并以binary方式傳輸?shù)椒?wù)端

其中涉及到的技術(shù)點(diǎn)有:

1、對(duì)象轉(zhuǎn)xml流
2、輸出流轉(zhuǎn)輸入流
3、httpClient發(fā)送二進(jìn)制流數(shù)據(jù)

POM文件依賴(lài)配置

<dependencies> 
  <dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>3.8.1</version> 
    <scope>test</scope> 
  </dependency> 
  <dependency> 
    <groupId>org.apache.httpcomponents</groupId> 
    <artifactId>httpclient</artifactId> 
    <version>4.5.2</version> 
  </dependency> 
   
  <dependency> 
   <groupId>org.apache.httpcomponents</groupId> 
   <artifactId>httpmime</artifactId> 
   <version>4.5.2</version> 
  </dependency> 
  <dependency> 
    <groupId>commons-lang</groupId> 
    <artifactId>commons-lang</artifactId> 
    <version>2.4</version> 
  </dependency> 
  <dependency> 
    <groupId>com.google.code.gson</groupId> 
    <artifactId>gson</artifactId> 
    <version>2.2.4</version> 
    <type>jar</type> 
    <scope>compile</scope> 
  </dependency> 
  <dependency> 
    <groupId>org.xwiki.platform</groupId> 
    <artifactId>xwiki-platform-rest-model</artifactId> 
    <version>7.2</version> 
  </dependency> 
</dependencies> 

java代碼示例

public void testNewPage() throws Exception{ 
    //定義對(duì)象 
    Page page =new Page(); 
    page.setTitle("testPage"); 
    page.setSyntax("xwiki/2.0"); 
    page.setContent("This is a testPage"); 
    page.setId("xwiki:Main.testPage"); 
    //初始化并轉(zhuǎn)換對(duì)象為xml文件的流 
    JAXBContext context = JAXBContext.newInstance("org.xwiki.rest.model.jaxb"); 
    Marshaller marshaller=context.createMarshaller(); 
    Unmarshaller unmarshaller = context.createUnmarshaller(); 
    ByteArrayOutputStream out = new ByteArrayOutputStream(); 
    marshaller.marshal( page, out ); 
    //將流轉(zhuǎn)換并放入到InputStreamEntity中 
    InputStreamEntity inputStreamEntity=new InputStreamEntity(new ByteArrayInputStream(out.toByteArray())); 
 
    //發(fā)送請(qǐng)求 
    CloseableHttpClient httpclient = HttpClients.createDefault(); 
    HttpUriRequest httpPost = RequestBuilder.put() 
        .setUri(new URI("http://172.16.200.220:8082/xwiki/rest/wikis/xwiki/spaces/Main/pages/testPage")) 
        .setEntity(inputStreamEntity) 
        .setHeader("Content-Type", "application/xml") 
        .setHeader("Cookie", cookieStr).build(); 
    //獲取返回結(jié)果 
    CloseableHttpResponse response = httpclient.execute(httpPost); 
    System.out.println(response.getStatusLine().getStatusCode()); 
    HttpEntity responseEntity=response.getEntity(); 
    System.out.println(responseEntity); 
    if(response.getStatusLine().getStatusCode()<400){ 
      Page responsePage = (Page) unmarshaller.unmarshal(responseEntity.getContent()); 
      System.out.println(responsePage); 
//      System.out.println(new Gson().toJson(responsePage)); 
    } 
  } 

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • JAVA中的OutputStreamWriter流解析

    JAVA中的OutputStreamWriter流解析

    這篇文章主要介紹了JAVA中的OutputStreamWriter流解析,OutputStreamWriter提供了一種方便的方式將字符數(shù)據(jù)寫(xiě)入到輸出流中,并進(jìn)行字符編碼轉(zhuǎn)換,它是Java中處理字符流和字節(jié)流之間轉(zhuǎn)換的重要工具之一,需要的朋友可以參考下
    2023-10-10
  • Java實(shí)現(xiàn)將枚舉類(lèi)轉(zhuǎn)為json并返回給前端

    Java實(shí)現(xiàn)將枚舉類(lèi)轉(zhuǎn)為json并返回給前端

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)將枚舉類(lèi)轉(zhuǎn)為json并返回給前端的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • 詳解spring mvc對(duì)異步請(qǐng)求的處理

    詳解spring mvc對(duì)異步請(qǐng)求的處理

    spring mvc3.2及以上版本增加了對(duì)請(qǐng)求的異步處理,是在servlet3的基礎(chǔ)上進(jìn)行封裝的,有興趣的可以了解一下。
    2017-01-01
  • Java設(shè)計(jì)模式之責(zé)任鏈模式簡(jiǎn)介

    Java設(shè)計(jì)模式之責(zé)任鏈模式簡(jiǎn)介

    這篇文章主要介紹了Java設(shè)計(jì)模式之責(zé)任鏈模式,需要的朋友可以參考下
    2014-07-07
  • TF-IDF理解及其Java實(shí)現(xiàn)代碼實(shí)例

    TF-IDF理解及其Java實(shí)現(xiàn)代碼實(shí)例

    這篇文章主要介紹了TF-IDF理解及其Java實(shí)現(xiàn)代碼實(shí)例,簡(jiǎn)單介紹了tfidf算法及其相應(yīng)公式,然后分享了Java實(shí)現(xiàn)代碼,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Java基礎(chǔ)第五篇 實(shí)施接口

    Java基礎(chǔ)第五篇 實(shí)施接口

    在public和private的封裝機(jī)制,我們實(shí)際上同時(shí)定義了類(lèi)和接口,類(lèi)和接口混合在一起。Java還提供了interface這一語(yǔ)法。這一語(yǔ)法將接口從類(lèi)的具體定義中剝離出來(lái),構(gòu)成一個(gè)獨(dú)立的主體,下面文章內(nèi)容將為大家做詳細(xì)介紹
    2021-09-09
  • Spring Cloud Alibaba 使用 Feign+Sentinel 完成熔斷的示例

    Spring Cloud Alibaba 使用 Feign+Sentinel 完成熔斷的示例

    這篇文章主要介紹了Spring Cloud Alibaba 使用 Feign+Sentinel 完成熔斷的示例,幫助大家更好的理解和學(xué)習(xí)使用Spring Cloud,感興趣的朋友可以了解下
    2021-03-03
  • Spring配置類(lèi)源碼分析詳解

    Spring配置類(lèi)源碼分析詳解

    這篇文章主要介紹了Spring配置類(lèi)解析源碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-09-09
  • 更簡(jiǎn)單更高效的Mybatis?Plus最新代碼生成器AutoGenerator

    更簡(jiǎn)單更高效的Mybatis?Plus最新代碼生成器AutoGenerator

    這篇文章主要為大家介紹了更簡(jiǎn)單更高效的Mybatis?Plus最新代碼生成器AutoGenerator使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Java網(wǎng)絡(luò)編程基礎(chǔ)篇之單向通信

    Java網(wǎng)絡(luò)編程基礎(chǔ)篇之單向通信

    這篇文章主要介紹了Java網(wǎng)絡(luò)編程里通過(guò)套接字實(shí)現(xiàn)單向通信的方法及相關(guān)實(shí)例,屬于網(wǎng)絡(luò)編程入門(mén)程序,雖然簡(jiǎn)單,但具有一定參考價(jià)值,需要的朋友可以參考下。
    2017-09-09

最新評(píng)論

饶平县| 平和县| 临西县| 克山县| 永仁县| 安顺市| 望城县| 惠水县| 岑溪市| 六枝特区| 谢通门县| 黔西| 巴彦淖尔市| 耿马| 青冈县| 堆龙德庆县| 襄垣县| 湖北省| 金溪县| 利津县| 丰县| 哈密市| 增城市| 黑山县| 佛坪县| 贵德县| 衡东县| 象州县| 灌阳县| 南岸区| 镇沅| 拜泉县| 城口县| 南岸区| 安溪县| 察隅县| 报价| 灵丘县| 镇沅| 苏尼特左旗| 邯郸县|