Just for recording what I learnt in overtime.
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//设置响应头编码
response.setHeader("Content-Type", "text/html;charset=utf-8");
//设置响应体编码
response.setCharacterEncoding("UTF-8");
//设置接收字符编码
request.setCharacterEncoding("UTF-8");
System.out.println("servletDemo3");
JSONObject jsonObject = JSONObject.fromObject(getRequestPayload(request));
System.out.println(jsonObject);
String log=jsonObject.getString("log");
System.out.println(log);
JSONObject target1=JSONObject.fromObject(log);
String production=target1.getString("production");
System.out.println(production);
String json = "{'response':{'data':[{'address':'北京','province':'海淀','district':'西三旗','city':'地铁'}]},'status':'ok'}";
response.setContentType("text/html; charset=utf-8");
System.out.println("in ");
ArrayList List = new ArrayList();
List.add(json);
PrintWriter out =response.getWriter();
out.print(List);//返回json数据给前台
}
private String getRequestPayload(HttpServletRequest req) {
ServletInputStream is;
try {
is = req.getInputStream();
int nRead = 1;
int nTotalRead = 0;
byte[] bytes = new byte[10240];
while (nRead > 0) {
nRead = is.read(bytes, nTotalRead, bytes.length - nTotalRead);
if (nRead > 0)
nTotalRead = nTotalRead + nRead;
}
String str = new String(bytes, 0, nTotalRead, "utf-8");
return str;
} catch (IOException e) {
e.printStackTrace();
return "";
}
}