这里博主做了个菜博会的视频平台推数据。
视频为内网+外网+html页面模式
实现了多台服务器互通。
遇到的技术问题:解析url,转为json输出,这里的输入流是拼到了Stringbuffer里,所以输出的为stringbuffer对象,要想输出json,直接转换是不行的,我用新建jsonobject并遍历的方法,就可以直接输出json对象了。
这里对A平台的操作
@ResponseBody
@RequestMapping("/test")
public Object test(
) throws Exception {
String url = "http://localhost:8181/yypt/appVideolist/getVideoType";
StringBuffer json = new StringBuffer();
try {
//实例一个url和URLConnection
URL oracle = new URL(url);
//打开链接
URLConnection yc = oracle.openConnection();
//输入流作参数传进InputStreamReader并用BufferedReader接受
BufferedReader in = new BufferedReader(new InputStreamReader(
yc.getInputStream(),"UTF-8"));
String inputLine = null;
//一直读到空,并设置流编码是UTF8
while ((inputLine = in.readLine()) != null) {
json.append(new String(inputLine.getBytes(), "UTF-8"));
}
//记得关闭连接
in.close();
} catch (Exception e) {
e.printStackTrace();
}
//这里遍历了一下stringbuffer数据,新赋值给了jsonobject,就可以直接输出json对象了
/*JSONArray jn = JSONArray.fromObject(json.toString());
System.out.println("数据:" + jn);*/
JSONObject object= JSONObject.parseObject(json.toString());
if (object.size() > 0) {
for (int i = 0; i < object.size(); i++) {
JSONObject jo = (JSONObject) object.get(i);
}
/* System.out.println(object);*/
}
/* System.out.println("数据大小:" + object.size());*/
return object;
}