廢話不說上代碼:
公共靜態字符串httppostwithjson(字符串url)引發異常{httppost httppost = new httppost(url); closablehttpclient client = httpclients.createdefault();字符串spectContent = null; // json方式jsonObject jsonparam = new jsonObject(); jsonparam.put(“名稱”,“ admin”); jsonparam.put(“ Pass”,“ 123456”); strignentity entity = new strigentity(jsonparam.tostring(),“ utf-8”); //解決中文亂碼問題entity.setContentEncOding(“ utf-8”); entity.setContentType(“ application/json”); httppost.setentity(實體); system.out.println(); //表單方式// list <BasicNameValuePair> pairlist = new ArrayList <basicNameValuePair>(); // pairlist.add(new BasicNameValuePair(“ name”,“ admin”)); // pairlist.add(new basicnamevaluepair(“ pass”,“ pass”,“ 123456”)); // httpppost.setentity(new Urlencodededity(pairencodedeDedeDedity(pairist forlist)) httpresponse resp = client.ecute(httppost); if(desp.getStatusline()。getStatusCode()== 200){httpentity he = resp.getentity(); suppcontent = entityutils.tostring(He,“ UTF-8”); }返回呼吸; } public static void main(string [] args)拋出異常{string結果= httppostwithjson(“ http:// localhost:8080/hctest2/hc”); system.out.println(結果); }帖子方式名稱和通行證就是表單的值了。
封裝表單屬性可以用json也可以用傳統的表單,如果是傳統表單的話,也就是在上邊代碼註釋那部分。用這種方式的話在servlet cequest.getParameter(“ string”)直接獲取到屬性值。就是相比json這種要簡單一點這種要簡單一點
公共類HCServlet擴展了Httpservlet {私有靜態最終long serialversionuid = 1L;受保護的void doget(httpservletrequest請求,httpservletresponse響應)拋出了servletexception,ioexception {dopost {dopost(request,wendesp); }受保護的void dopost(httpservletrequest request,httpservletResponse響應)拋出ServletException,ioexception {request.set.setCharActerEncerCoding(“ utf-8”); wendment.setContentType(“ text/html; charset = utf-8”);字符串Acceptjson =“”;用戶用戶= new User(); BufferedReader br = new BufferedReader(new InputStreamReader((ServletInputStream)request.getInputStream(),“ utf-8”)); StringBuffer SB = new StringBuffer(“”);字符串溫度; 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(“用戶”,用戶); request.getRequestDisPatcher(“/sakes.jsp”)。 eward(請求,響應); }}}代碼比較簡陋,只是用於測試。希望能夠有所收穫。 ,只是用於測試。希望能夠有所收穫。
以上就是小編為大家帶來的httpclient模擬post請求json,希望大家多多支持武林網〜