<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    程序人生
    一個程序只做一件事,但要做好 一個類只提供一套服務(wù),但要完善...........

    因為項目的原因,使用到了HttpClient這個Apache又一個好用的包,這里就簡單的介紹下它的使用吧。

    使用場景

                因為項目中有一功能是需要和另一個系統(tǒng)進(jìn)行數(shù)據(jù)交換的,一開始就考慮采用HttpUrlConnection連接遠(yuǎn)程地址,發(fā)送流實現(xiàn)數(shù)據(jù)交換。后來發(fā)現(xiàn)了HttpClient,也就賴的再寫一些連接的函數(shù)了,所以就“拿來主義”了!

    安裝:

    HttpClient的使用需要三個包,分別是commons-httpclient-3.1.jar、commons-logging-1.0.4.jar、commons-codec-1.3.jar,都可以在Apache的官網(wǎng)上下載。

    使用:

                我們知道,HTTP協(xié)議的連接方法有GET、POST、PUT和HEAD方式,在創(chuàng)建Method實例的時候可以更具具體的方法來創(chuàng)建。HttpClient的使用一般分如下幾步:

                1、創(chuàng)建HttpClient實例。

                2、創(chuàng)建具體連接方法的實例。如POST方法創(chuàng)建PostMethod的實例,在實例化時從構(gòu)造函數(shù)中傳入待連接的URL地址。

                3、對post的發(fā)送內(nèi)容等信息進(jìn)行配置

                4、執(zhí)行HttpClient的execute方法

                5、如果返回的狀態(tài)碼正常,表明連接成功,可以讀取response的內(nèi)容

     1//將創(chuàng)建的xml生成String類型等待發(fā)送 
     2String strxml = CreateXML.creteCustomerXml(list);
     3//創(chuàng)建post發(fā)法的實例 
     4        PostMethod post = new PostMethod(
     5"http://127.0.0.1:8088/CustomerReceive");
     6// 使用系統(tǒng)提供的默認(rèn)的恢復(fù)策略 
     7        post.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
     8new DefaultHttpMethodRetryHandler());
     9//設(shè)置發(fā)送的內(nèi)容        
    10post.setRequestBody(strxml);
    11//對發(fā)送的內(nèi)容長度進(jìn)行設(shè)定 
    12if (strxml.length() < Integer.MAX_VALUE) {
    13            post.setRequestContentLength(strxml.length());
    14        }

    15else {
    16            post
    17                    .setRequestContentLength(EntityEnclosingMethod.CONTENT_LENGTH_CHUNKED);
    18        }

    19// 指定請求內(nèi)容的類型 
    20        post.setRequestHeader("Content-type""text/xml; charset=utf-8");
    21//創(chuàng)建HttpClient 實例 
    22        HttpClient httpclient = new HttpClient();
    23int result;
    24try {
    25//執(zhí)行post方法 
    26            result = httpclient.executeMethod(post);
    27//如果連接正常,獲得返回內(nèi)容          
    28if (result == HttpStatus.SC_OK) {
    29                InputStream input = post.getResponseBodyAsStream();
    30                SAXReader readers = new SAXReader();
    31try {
    32                    Document document = readers.read(input);
    33                    System.out.println(document.asXML());
    34                }
     catch (DocumentException e) {
    35// TODO Auto-generated catch block 
    36                    e.printStackTrace();
    37                }

    38            }

    39        }
     catch (HttpException e) {
    40// TODO Auto-generated catch block 
    41            e.printStackTrace();
    42        }
     catch (IOException e) {
    43// TODO Auto-generated catch block 
    44            e.printStackTrace();
    45        }
     finally {
    46            post.releaseConnection();
    47        }

    48    }
    49
    posted on 2008-08-14 14:50 劍客阿飛 閱讀(551) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
     
    主站蜘蛛池模板: 亚洲中文字幕不卡无码| 免费看少妇作爱视频| 日韩毛片在线免费观看| 在线电影你懂的亚洲| 中文字幕在线观看亚洲视频| 亚洲成a人无码亚洲成av无码| 一级做α爱过程免费视频| 91精品国产免费久久国语麻豆| 日本亚洲免费无线码| 亚洲精品无码久久久| 亚洲美女视频一区二区三区| 最近中文字幕免费完整| 亚洲人成网站18禁止久久影院| 色妞www精品视频免费看| 一级毛片全部免费播放| 性生交片免费无码看人| 亚洲色成人WWW永久网站| 亚洲偷自精品三十六区| 大香人蕉免费视频75| 国产精品亚洲一区二区三区在线| 亚洲AV成人影视在线观看| 99久久国产精品免费一区二区 | 亚洲五月综合网色九月色| 我要看免费的毛片| 18亚洲男同志videos网站| 一二三四免费观看在线视频中文版| 亚洲欧洲精品成人久久曰| 亚洲成人免费电影| 久久91亚洲人成电影网站| 高潮毛片无遮挡高清免费视频| 久久久久久亚洲精品不卡| 无码天堂亚洲国产AV| 中文字幕乱码免费视频| 亚洲美免无码中文字幕在线| 日韩电影免费在线观看网址 | 中文字幕乱码免费视频| 免费国产黄网站在线观看动图| 国产v亚洲v天堂无码网站| 色视频色露露永久免费观看 | 一级毛片a女人刺激视频免费| 亚洲综合免费视频|