<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)航:
     
     
    主站蜘蛛池模板: 亚洲制服中文字幕第一区| 亚洲精品成人片在线观看| 亚洲AV日韩AV鸥美在线观看| 日日狠狠久久偷偷色综合免费| 宅男666在线永久免费观看| 亚洲成aⅴ人片在线影院八| 嫩草在线视频www免费观看| 亚洲女初尝黑人巨高清| 国产一区二区三区免费| 亚洲AV无码久久寂寞少妇| 亚欧日韩毛片在线看免费网站| 亚洲国产婷婷六月丁香| 一级毛片免费不卡在线| 亚洲国产精品久久人人爱| 国产精品1024永久免费视频| 亚洲精品无码久久久久久久| 91精品国产免费久久久久久青草| 91丁香亚洲综合社区| 成人永久免费高清| 一区二区免费电影| 亚洲精品高清视频| 噼里啪啦免费观看高清动漫4| 亚洲精品女同中文字幕| 亚洲成A∨人片天堂网无码| 97无码人妻福利免费公开在线视频| 亚洲国产人成在线观看69网站| 免费专区丝袜脚调教视频| 国产精品久久久久久亚洲影视| 亚洲欧洲日产国码一级毛片| 成人无码a级毛片免费| 亚洲国产av美女网站| 好爽好紧好大的免费视频国产| 五月天婷婷精品免费视频| 亚洲成熟xxxxx电影| 精品久久久久久久免费人妻 | 亚洲AV无码乱码在线观看| caoporn国产精品免费| 亚洲午夜免费视频| 四虎影在线永久免费四虎地址8848aa| 国产高潮久久免费观看| 亚洲精品美女久久久久9999|