废话不说上代码 :
public Static String httppostWithjson (URL de cadena) lanza la excepción {httppost httppost = new httppost (url); ClosableHttpClient Client = httpclients.createDefault (); Cadena respcontent = null; // json 方式 jsonObject jsonParam = new JsonObject (); jsonparam.put ("nombre", "administrador"); jsonparam.put ("pase", "123456"); StringEntity entity = new StringEntity (jsonparam.ToString (), "utf-8"); // 解决中文乱码问题 entity.setContentEncoding ("utf-8"); entity.setContentType ("Aplicación/JSON"); httppost.setEntity (entidad); System.out.println (); // 表单方式 // List <BasicNameValuePair> PareList = new ArrayList <BasicNameValuePair> (); // pairlist.add (new BasicNameValuePair ("Name", "Admin")); // PareList.Add (new BasicNameValuePair ("Pass", "123456")); // httppost.setEntity (new URLEncodeDedFormentity (Emparlist, "UTF-8")); Httpresponse resp = client.execute (httppost); if (resp.getStatusline (). getStatUscode () == 200) {httpentity he = resp.getEntity (); respcontent = entityUtils.tostring (él, "UTF-8"); } return respcontent; } public static void main (string [] args) lanza la excepción {string result = httppostWithjson ("http: // localhost: 8080/hctest2/hc"); System.out.println (resultado); }Post 方式 就要考虑提交的表单内容怎么传输了。本文 nombre 和 Pase 就是表单的值了。
封装表单属性可以用 json 也可以用传统的表单 , 如果是传统表单的话 要注意 , 也就是在上边代码注释那部分。用这种方式的话在 也就是在上边代码注释那部分。用这种方式的话在 servlet 里也就是数据处理层可以通过 request.getParameter ("String") 直接获取到属性值。就是相比 JSON 这种要简单一点 , 不过在实际开发中一般都是用 JSON 做数据传输的。用 JSON 的话有两种选择一个是阿里巴巴的 FASTJSON 还有一个就是谷歌的 GSON。FASTJSON 相比效率比较高 相比效率比较高 , GSON 适合解析有规律的 JSON 数据。博主这里用的是 FASTJSON 。还有用 JSON 的话在数据处理层要用流来读取表单属性 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。 这就是相比传统表单多的一点内容。代码下边已经有了。
clase pública HCServlet se extiende httpservlet {private static final long SerialVersionUid = 1l; Doget vacío protegido (solicitud httpservletRequest, respuesta httpservletResponse) lanza ServletException, ioexception {dopost (solicitud, respuesta); } protegido void dopost (httpservletRequest solicitud, respuesta httpservletreSponse) arroja servletException, ioexception {request.setcharacterEncoding ("utf-8"); respuesta.setContentType ("text/html; charset = utf-8"); Cadena aceptación = ""; Usuario user = nuevo usuario (); BufferedReader BR = New BufferedReader (new InputStreamReader ((ServLetInputStream) request.getInputStream (), "UTF-8")); StringBuffer sb = new StringBuffer (""); Cadena temp; while ((temp = br.readline ())! = null) {sb.append (temp); } br.close (); aceptación = sb.ToString (); if (aceptación! = "") {jsonObject Jo = jsonObject.ParseObject (aceptación); user.setUsername (Jo.getString ("nombre")); user.setPassword (Jo.getString ("pase")); } request.setAttribute ("usuario", usuario); request.getRequestDIsPatcher ("/Message.jsp"). Foring (solicitud, respuesta); }}代码比较简陋 只是用于测试。希望能够有所收获。 只是用于测试。希望能够有所收获。
以上就是小编为大家带来的 httpclient 模拟 post 请求 json 封装表单数据的实现方法全部内容了 , 希望大家多多支持武林网 ~