class AT extends AsyncTask{
@Override
protected String doInBackground(Object[] params) {
try{
HttpClient hc = new DefaultHttpClient();
HttpPost hp = new HttpPost(Config.SERVER_IP + "LoginServlet");
List<Map<String, String>> list = new ArrayList<>();
Map<String, String>map1 = new HashMap<>();
map1.put("number1", "1");
map1.put("number2", "2");
list.add(map1);
Map<String, String>map2 = new HashMap<>();
map2.put("number3", "3");
map2.put("number4", "4");
list.add(map2);
Gson gson = new Gson();
String value = gson.toJson(list);
hp.setEntity(new StringEntity(value));
HttpResponse hr = hc.execute(hp);
String result = null;
if(hr.getStatusLine().getStatusCode() == 200){
result = EntityUtils.toString(hr.getEntity());
Log.d("TAG", result);
}
if(hc != null){
hc.getConnectionManager().shutdown();
}
return result;
}catch (Exception e){
e.printStackTrace();
return null;
}
}
@Override
protected void onPreExecute() {
progressDialog.show();
}
@Override
protected void onPostExecute(Object o) {
progressDialog.cancel();
}
}
servlet代码
public class LoginServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");//设置编码
response.setContentType("text/json;charset=UTF-8");
String reqMessage, respMessage;
JSONArray reqObject = null;
JSONArray respObject = null;
try {
BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream(), "UTF-8"));
StringBuffer sb = new StringBuffer("");
String temp;
while((temp = br.readLine()) != null){
sb.append(temp);
}
br.close();
reqMessage = sb.toString();
System.out.println("请求报文:" + reqMessage);
JSONArray jsonArray = JSONArray.fromObject(reqMessage);
List list = (List)JSONArray.toCollection(jsonArray, Map.class);
HashMap<String, String>map = (HashMap<String, String>)list.get(0);
System.out.println(map.get("number2"));
} catch (Exception e) {
// TODO: handle exception
}finally {
respMessage = "收到了报文";
PrintWriter pw = response.getWriter();
pw.write(respMessage);
pw.flush();
pw.close();
}
}
}