一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - httpclient模擬post請求json封裝表單數(shù)據(jù)的實(shí)現(xiàn)方法

httpclient模擬post請求json封裝表單數(shù)據(jù)的實(shí)現(xiàn)方法

2020-07-21 11:30java教程網(wǎng) Java教程

下面小編就為大家?guī)硪黄猦ttpclient模擬post請求json封裝表單數(shù)據(jù)的實(shí)現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

廢話不說上代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public static String httpPostWithJSON(String url) throws Exception {
 
    HttpPost httpPost = new HttpPost(url);
    CloseableHttpClient client = HttpClients.createDefault();
    String respContent = null;
    
//    json方式
    JSONObject jsonParam = new JSONObject();
    jsonParam.put("name", "admin");
    jsonParam.put("pass", "123456");
    StringEntity entity = new StringEntity(jsonParam.toString(),"utf-8");//解決中文亂碼問題 
    entity.setContentEncoding("UTF-8"); 
    entity.setContentType("application/json"); 
    httpPost.setEntity(entity);
    System.out.println();
    
  
//    表單方式
//    List<BasicNameValuePair> pairList = new ArrayList<BasicNameValuePair>();
//    pairList.add(new BasicNameValuePair("name", "admin"));
//    pairList.add(new BasicNameValuePair("pass", "123456"));
//    httpPost.setEntity(new UrlEncodedFormEntity(pairList, "utf-8")); 
    
    
    HttpResponse resp = client.execute(httpPost);
    if(resp.getStatusLine().getStatusCode() == 200) {
      HttpEntity he = resp.getEntity();
      respContent = EntityUtils.toString(he,"UTF-8");
    }
    return respContent;
  }
 
  
  public static void main(String[] args) throws Exception {
    String result = httpPostWithJSON("http://localhost:8080/hcTest2/Hc");
    System.out.println(result);
  }

post方式 就要考慮提交的表單內(nèi)容怎么傳輸了。本文name和pass就是表單的值了。

封裝表單屬性可以用json也可以用傳統(tǒng)的表單,如果是傳統(tǒng)表單的話 要注意,也就是在上邊代碼注釋那部分。用這種方式的話在servlet里也就是數(shù)據(jù)處理層可以通過request.getParameter(”string“)直接獲取到屬性值。就是相比json這種要簡單一點(diǎn),不過在實(shí)際開發(fā)中一般都是用json做數(shù)據(jù)傳輸?shù)摹S胘son的話有兩種選擇一個是阿里巴巴的fastjson還有一個就是谷歌的gson。fastjson相比效率比較高,gson適合解析有規(guī)律的json數(shù)據(jù)。博主這里用的是fastjson。還有用json的話在數(shù)據(jù)處理層要用流來讀取表單屬性,這就是相比傳統(tǒng)表單多的一點(diǎn)內(nèi)容。代碼下邊已經(jīng)有了。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public class HcServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;
    
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doPost(request, response);
  }
 
  
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    request.setCharacterEncoding("UTF-8");
    response.setContentType("text/html;charset=UTF-8");
    String acceptjson = "";
    User user = new User();
    BufferedReader br = new BufferedReader(new InputStreamReader(
        (ServletInputStream) request.getInputStream(), "utf-8"));
    StringBuffer sb = new StringBuffer("");
    String temp;
    while ((temp = br.readLine()) != null) {
      sb.append(temp);
    }
    br.close();
    acceptjson = sb.toString();
    if (acceptjson != "") {
      JSONObject jo = JSONObject.parseObject(acceptjson);
      user.setUsername(jo.getString("name"));
      user.setPassword(jo.getString("pass"));
    }
    
    request.setAttribute("user", user);
    request.getRequestDispatcher("/message.jsp").forward(request, response);
  }
}

代碼比較簡陋,只是用于測試。希望能夠有所收獲。

以上就是小編為大家?guī)淼?a href="/article/79040.html">httpclient模擬post請求json封裝表單數(shù)據(jù)的實(shí)現(xiàn)方法全部內(nèi)容了,希望大家多多支持服務(wù)器之家~

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: a v在线男人的天堂观看免费 | 九二淫黄大片看片 | 亚洲欧美精品天堂久久综合一区 | 4hc44四虎www在线影院男同 | 免费看又黄又爽又猛的视频软件- | 视频一区二区三区在线 | 男人和女人全黄一级毛片 | 国产欧美日韩综合 | 免费视频片在线观看大片 | 好紧好爽范冰冰系列 | 大伊香蕉精品视频一区 | 羞羞答答免费人成黄页在线观看国产 | 高h文恩好大好爽 | 国产资源中文字幕 | 亚洲好色网 | 国产精品va在线观看手机版 | 久久精品国产亚洲AV麻豆欧美玲 | 国产重口老太伦 | 狠狠色综合久久婷婷色天使 | 国产人成激情视频在线观看 | 香蕉久久ac一区二区三区 | 青柠网在线观看视频 | 国产亚洲精aa在线观看香蕉 | 日本一道一区二区免费看 | 秋霞午夜视频在线观看 | 成人资源在线观看 | 青草热久精品视频在线观看 | 日本高清免费不卡在线播放 | 国产精品久久久天天影视香蕉 | 万域之王在线观看 | 日韩国产成人精品视频 | 国语在线 | 国产情侣自拍网 | 亚洲系列国产系列 | www.尤物在线 | 蜜桃在线 | 午夜毛片在线观看 | 洗濯屋H纯肉动漫在线观看 武侠艳妇屈辱的张开双腿 午夜在线观看免费观看 视频 | 免费观看伦理片 | 亚洲国产免费 | 午夜DV内射一区区 |