http方式接口响应实现步骤

jar包

  commons-httpclient-3.0.jar
  commons-logging.jar
  commons-codec-1.3.jar

web.xml需要加入以下配置:

<!-- 模拟HTTP的调用,写的一个http接口 -->
    <servlet>
        <servlet-name>http服务文件名</servlet-name>
        <servlet-class>服务文件路径</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>http服务文件名</servlet-name>
        <url-pattern>/页面访问路径</url-pattern>
    </servlet-mapping>
http服务端解析json
  

  InputStream ins = req.getInputStream();
   byte[] temp = new byte[1024];
   ByteArrayOutputStream baStream = new ByteArrayOutputStream();
   int count = 0;
   while((count = ins.read(temp))!=-1) {
    baStream.write(temp, 0, count);
   }
   if(baStream.size()!=0){
    logger.info("=========传输的JSON String ======>>" + new String(baStream.toByteArray(),"UTF-8"));
    String strJSON=new String(baStream.toByteArray(),"UTF-8");
    if (strJSON != null &&strJSON.startsWith("ufeff")) {
     strJSON = strJSON.substring(1);//去空格
          }
    JSONObject json=JSONObject.fromObject(strJSON);//解析strJSON
    String a = json.getString("a");
    ........
    //处理逻辑
    .........
   
   List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//返回一个数据List
   
   //查询到的数据
   Map<String, Object> map = new HashMap<String, Object>();
   
   //封装List数据
   String aa = "";
   String bb = "";
   map.put("USERS",aa);
   map.put("NAME",bb);
   list.add(map);
   
   //封装JSON
   JSONObject job=new JSONObject();
   job.put("RETURN","成功");
   job.put("INFO",list);
   String returnInfo = job.toString();

//http服务器返回响应值 response.setContentType("application/json; charset=UTF-8"); response.getWriter().print(outJson);

//不知道代码对不对,需要小伙伴们去验证呀。

原文地址:https://www.cnblogs.com/Linger-wj/p/6564728.html