「Javaの知識アプリケーションは、」Javaは、GETとPOST経由でHTTPリクエストを実装しています。

HTTPリクエストには、それが対話的に非常に一般的なデータです。

以下の説明:GETとPOSTの2実際の例。

 

試験のためのアクション(コントローラ)。

(値= "getData.jsonを" @RequestMapping 公共@ResponseBody 
ServerResponseのgetData(HttpSessionのセッション、RequestBody人々人々 @){ 
    返す 新しいServerResponse(人を)。
}

 

ケース(ポスト):

輸入org.json.JSONObject;
輸入java.util.HashMapを;
輸入java.util.Map; 

パブリック クラスメイン{
     プライベート 静的な 最終文字列のURL =「http://XXX.XXX.XXX.XXX:XXXX/getData.json」

    パブリック 静的 ボイドメイン(文字列[]引数){ 
        文字列のURL = URL。
        地図・マップ = 新しいHashMapの(); 
        map.put( "名前"、 "李磊" ); 
        map.put( "年齢"、 "18" )。
        JSONObject JSON = 新しいJSONObject(マップ);
        JSONObject解像度 =PostInterface.postJson(URL、JSON)。
        System.out.println(res.toString())。
    } 
}
輸入org.apache.http.HttpResponse。
輸入org.apache.http.HttpStatus。
輸入org.apache.http.client.methods.HttpPost;
輸入org.apache.http.entity.StringEntity。
輸入org.apache.http.impl.client.CloseableHttpClient。
輸入org.apache.http.impl.client.HttpClientBuilder。
輸入org.apache.http.util.EntityUtils。
輸入org.json.JSONObject; 

輸入いるjava.nio.charset.Charset。

/ ** 
 *请求类
 * / 
パブリック クラスPostInterface { 

    公共の 静的 JSONObject postJson(文字列のURL、JSONObjectのJSON){
        CloseableHttpClientのHTTPClient =HttpClientBuilder.create()ビルド();. 
        HttpPost POST = 新新HttpPost(URL); 
        JSONObjectレスポンス = ヌル;
         試み{
             // UTF-8を使用して符号化、歪曲中国避けるために 
            StringEntity = S 新新(json.toString()StringEntityを、文字セット.forName( "GBK" )); 
            s.setContentType( "ファイルアプリケーション/ JSON"); // JSONのcontentTypeのセットにデータを送信し
            、post.setEntity(S)

            はHttpResponse RES = httpclient.execute(POST)を、
             IF HttpStatus.SC_OK){(res.getStatusLine()getStatusCode()==
                文字列結果 = EntityUtils.toString(res.getEntity())。// 返回JSON格式: 
                応答= 新しいJSONObject(結果); 
            } 
        } キャッチ(例外e){
             スロー 新規のRuntimeException(e)を、
        } 
        を返す応答。
    } 
}

結果:

 

試験のためのアクション(コントローラ)。

@ RequestMapping(値= "getData.json" 公共@ResponseBody 
serverResponseのgetData(HttpSessionのセッション、文字列のフラグ){ 
    文字列str; 
    IF(!StringUtils.isBlank(旗)){ 
        STR = "+フラグ+" "あなたの伝記があります" "" ; 
    } { 
        STRは = "あなたのパスは"空である; 
    } 
    返す 新しい新serverResponse(STR)を; 
}

 

ケース(取得):

パブリック クラスメイン{
     プライベート 静的な 最終文字列のURL =「http://XXX.XXX.XXX.XXX:XXXX/getData.json」

    パブリック 静的 ボイドメイン(文字列[]引数){ 
        文字列のURL = URL。
        ストリングRES = PostInterface.doGet(URL +、 "UTF-8" "フラグ= 1?" )。
        System.out.println(res.toString())。
    } 
}
輸入org.apache.http.HttpEntity。
輸入org.apache.http.HttpResponse。
輸入org.apache.http.client.methods.HttpGet;
輸入org.apache.http.impl.client.CloseableHttpClient。
輸入org.apache.http.impl.client.HttpClientBuilder。
輸入org.apache.http.util.EntityUtils。

/ ** 
 *请求类
 * / 
パブリック クラスPostInterface { 

    パブリック 静的文字列のdoGet(文字列のURL、文字列の文字セット){
         場合ヌル == 文字セット){ 
            文字セット = "UTF-8" 
        }
        CloseableHttpClientのHTTPClient= HttpClientBuilder.create()()を構築します。
        HTTPGET HTTPGET = nullを
        文字列の結果 = nullを試す{ 
            HTTPGET = 新しいHTTPGET(URL); 
            HttpResponse応答 = httpclient.execute(HTTPGET)。
            もし(!応答= NULL ){ 
                HttpEntity resEntity = response.getEntity()。
                もし(!resEntity = NULL ){ 
                    結果 = EntityUtils.toString(resEntity、文字セット)。
                } 
            } 
        } キャッチ(例外e){ 
            e.printStackTrace(); 
        } 
        戻り値の結果; 
    } 
}

結果:

 

あなたが例実装プロセスで問題が発生した場合:グループ通信に追加することができ、または下記のコメント

 

 

おすすめ

転載: www.cnblogs.com/jssj/p/11598651.html