한 항목 이 다른 항목 인 터 페 이 스 를 호출 하여 json 인 자 를 전달 합 니 다.

8812 단어 JAVA
프로젝트 수 요 는 한 항목 에서 my sql 에서 데 이 터 를 가 져 와 json 문자열 로 변환 하고 HttpClient 로 다른 항목 의 인 터 페 이 스 를 호출 하여 json 데 이 터 를 전달 하 는 것 입 니 다.다른 항목 은 json 데 이 터 를 받 아 분석 한 후 Oacle 에 기록 합 니 다.
my sql 데 이 터 를 가 져 옵 니 다.자세 한 획득 방법 과 데이터 베 이 스 를 쓰 지 않 습 니 다.전송 과 수신 의 두 가지 방법:
/**
 * 
 *     :      ,  json   
 * 
 * @param
 * @author:tinker
 * @throws ParseException
 * @data:  :2016 9 9 10:50:52
 */
@RequestMapping("/postJson")
public String postJson(ConferenceInfo conferenceInfo, Model model, HttpServletRequest request, HttpServletResponse response) throws ParseException {
    //         
    List conferenceInfoList = new ArrayList<>();
    conferenceInfoList = conferenceNoticeTypeService
            .conferceInfoFind(conferenceInfo);
    //    json
    JsonConfig jsonConfig = new JsonConfig();
    jsonConfig.registerJsonValueProcessor(Date.class,
            new JsonDateValueProcessor());
    JSONObject json = new JSONObject();
    json = JSONObject.fromObject(conferenceInfoList, jsonConfig);// stringBuffer
    System.out.println("    :" + json);
    HttpFa2 httpFa2 = new HttpFa2();
    //    POST           1    (      /)     json       request
    JSONObject sr = httpFa2.doPost("conferenceInfo/getJson", json, request);
    System.out.println("    :" + sr);
    return null;
}

HttpFa2.java 코드:
package com.icp.utils;

import javax.servlet.http.HttpServletRequest;

import net.sf.json.JSONObject;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class HttpFa2 {

/**
 * post  
 * 
 * @param url
 * @param json
 * @return
 */

public static JSONObject doPost(String method, JSONObject date,HttpServletRequest request) {
    HttpClient client = HttpClients.createDefault();
    //               
    String url = "http://10.224.11.13:8080/icp1.0/" + method;
    HttpPost post = new HttpPost(url);
    JSONObject response = null;
    try {
        StringEntity s = new tringEntity(date.toString());
        s.setContentEncoding("UTF-8");
        s.setContentType("application/json");
        post.setEntity(s);
        post.addHeader("content-type", "text/xml");
        //   Fa  
        HttpResponse res = client.execute(post);
        String response1 = EntityUtils.toString(res.getEntity());
        System.out.println("************");
        System.out.println(response1);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            HttpEntity entity = res.getEntity();
            String result = EntityUtils.toString(res.getEntity());//   json  :
            response = JSONObject.fromObject(result);
            }
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        return response;
    }
}

다른 항목 은 json 코드 를 받 습 니 다:
/**
 *      json    
 * 
 * @param request
 * @param response
 * @return
 * @data:  :2016 9 9 10:50:52
 */
@RequestMapping("/getJson")
public String getJson(HttpServletRequest request,
        HttpServletResponse response) {
    StringBuffer json = new StringBuffer();
    String line = null;
    try {
        BufferedReader reader = request.getReader();
        while ((line = reader.readLine()) != null) {
            System.out.println("line:" + line);
            json.append(line);
        }
    } catch (Exception e) {
        System.out.println(e.toString());

    }
    System.out.println(json.toString());
    return json.toString();
}

좋은 웹페이지 즐겨찾기