这个问题当初纠结很久。也迷茫过不知道要怎么处理。现在给大家分享一下
https://blog.csdn.net/lishamao/article/details/7566018
这个链接给了思路,如果可以解决大家可以借鉴一下
以下是我解决这个问题的思路
1.web.xml新增一下信息
<servlet>
<servlet-name>ContractTransferServlet</servlet-name>
<servlet-class>com.sinosoft.application.contract.json.facade.ContractTransferServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ContractTransferServlet</servlet-name>
<url-pattern>/platform/contracttransferpolicyservlet</url-pattern>
</servlet-mapping>
下面配置的url地址就是访问的地址
http://127.0.0.1:19001/platform/contracttransferpolicyservlet
2.创建一个servlet
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ResponseMiddlewarePolicyDto responseMiddlewarePolicyDto=new ResponseMiddlewarePolicyDto();
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json; charset=utf-8");
try {
responseMiddlewarePolicyDto= uploadFiles(request, response);
ResponseHeadDto responseHeadDto= responseMiddlewarePolicyDto.getResponseHeadDto();
//需要讲返回的对象存到map中,返回到前台方式为json start
JSONObject object = new JSONObject(); //创建Json对象
object.put("main_No",responseHeadDto.getMain_No()); //设置Json对象的属性
object.put("request_Type", responseHeadDto.getRequest_Type());
object.put("response_Code",responseHeadDto.getResponse_Code() );
object.put("error_Code",responseHeadDto.getError_Code() );
object.put("error_Desc",responseHeadDto.getError_Desc());
System.out.println(object.toString()); //调用toString方法将json对象转换成json字符串
response.getWriter().write(object.toString());
//需要讲返回的对象存到map中,返回到前台方式为json end
//把json数据返回给浏览器:
} catch (Exception e) {
}
private ResponseMiddlewarePolicyDto uploadFiles(HttpServletRequest request,
HttpServletResponse response) throws Exception {
// POST 将json串转换为对象
String MiddlewarePolicyDto = getRequestPostStr(request);
JSONObject jsonObject = JSONObject.parseObject(MiddlewarePolicyDto);
RequestMiddlewarePolicyDto requestMiddlewarePolicyDto = JSONObject.parseObject(
jsonObject.getString("requestMiddlewarePolicyDto"),
RequestMiddlewarePolicyDto.class);
}
/**
*将request获取转换
*/
public static String getRequestPostStr(HttpServletRequest request)
throws IOException {
byte buffer[] = getRequestPostBytes(request);
String charEncoding = request.getCharacterEncoding();
if (charEncoding == null) {
charEncoding = "UTF-8";
}
return new String(buffer, charEncoding);
}
public static byte[] getRequestPostBytes(HttpServletRequest request)
throws IOException {
int contentLength = request.getContentLength();
if (contentLength < 0) {
return null;
}
byte buffer[] = new byte[contentLength];
for (int i = 0; i < contentLength;) {
int readlen = request.getInputStream().read(buffer, i,
contentLength - i);
if (readlen == -1) {
break;
}
i += readlen;
}
return buffer;
}
以上内容包括如何將json转换为对象。将对象转换为json传输到前台