问题描述:
下面的RecommendTopicAction完成功能:调用腾讯微博API,把结果返回到前端。
/*
* RecommendTopicAction.java
*time:2013-11-7
*/
package com.wb.action;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import com.opensymphony.xwork2.ActionSupport;
import com.wb.log.Logger;/**
* Get the hot trend from Tencent WeiBo~ call the API.
*
*/
public class RecommendTopicAction extends ActionSupport {
private String key=null;
/** The String is used to Store the recommendtopic from tencent weibo API*/
private InputStream inputStream;
public InputStream getInputStream() {
return inputStream;
}
public void setInputStream(InputStream inputStream) {
this.inputStream = inputStream;
}
public void setKey(String key){
this.key=key;
}
public String getKey(){
return this.key;
}
public InputStream createRecomFromTencent() throws IOException{
final String URL_STRING="https://open.t.qq.com/api/search/ht?keyword=中国&pagesize=20&page=1&format=json&access_token=45138d8faaafa36639936e96ef25652a&oauth_consumer_key=801058005&openid=15E7B1F7C91643F2E5715DD29E294971&oauth_version=2.a&clientip=192.168.122.180&scope=all";
int responsecode;
HttpURLConnection urlConnection;
InputStream line=null;
URL url=new URL(URL_STRING);
urlConnection = (HttpURLConnection)url.openConnection();
responsecode=urlConnection.getResponseCode();
if(responsecode==200){
line=urlConnection.getInputStream();
System.out.println(new BufferedReader(new InputStreamReader(line,"utf-8")).readLine());
}
else Logger.getLogger().error("连接腾讯微博API出错~");
return line;
}
public String execute(){
try {
setInputStream(createRecomFromTencent());
} catch (IOException e) {
// TODO Auto-generated catch block
Logger.getLogger().error("网络出现异常:"+e);
}
return SUCCESS;
}
public static void main(String args[]) throws IOException{
RecommendTopicAction a=new RecommendTopicAction();
a.createRecomFromTencent();
}
}
前端JS请求如下:
function recomTopic(){
$.ajax({
url: "<%=basePath %>RecommendServlet.servlet",
type: "post",
dataType : "json",
data:{"keyword":keyword},
success : show
})
}
在action中跑main函数,System.out打印结果
{"data":{"hasnext":1,"info":[{"favnum":256,"id":"14788155191417781697","text":"中国","tweetnum":35029},{"favnum":64202,"id":"3958183173820082117","text":"中国好声音","tweetnum":1484871},{"favnum":45364,"id":"16672418334819547826","text":"中国达人秀","tweetnum...(没全写出来)
但是启动项目,前端JS调用,打印结果却是空
{"data":null,"errcode":0,"msg":"result is empty","ret":0,"seqid":5945197330038810832}
求解惑???
下面的RecommendTopicAction完成功能:调用腾讯微博API,把结果返回到前端。
/*
* RecommendTopicAction.java
*time:2013-11-7
*/
package com.wb.action;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import com.opensymphony.xwork2.ActionSupport;
import com.wb.log.Logger;/**
* Get the hot trend from Tencent WeiBo~ call the API.
*
*/
public class RecommendTopicAction extends ActionSupport {
private String key=null;
/** The String is used to Store the recommendtopic from tencent weibo API*/
private InputStream inputStream;
public InputStream getInputStream() {
return inputStream;
}
public void setInputStream(InputStream inputStream) {
this.inputStream = inputStream;
}
public void setKey(String key){
this.key=key;
}
public String getKey(){
return this.key;
}
public InputStream createRecomFromTencent() throws IOException{
final String URL_STRING="https://open.t.qq.com/api/search/ht?keyword=中国&pagesize=20&page=1&format=json&access_token=45138d8faaafa36639936e96ef25652a&oauth_consumer_key=801058005&openid=15E7B1F7C91643F2E5715DD29E294971&oauth_version=2.a&clientip=192.168.122.180&scope=all";
int responsecode;
HttpURLConnection urlConnection;
InputStream line=null;
URL url=new URL(URL_STRING);
urlConnection = (HttpURLConnection)url.openConnection();
responsecode=urlConnection.getResponseCode();
if(responsecode==200){
line=urlConnection.getInputStream();
System.out.println(new BufferedReader(new InputStreamReader(line,"utf-8")).readLine());
}
else Logger.getLogger().error("连接腾讯微博API出错~");
return line;
}
public String execute(){
try {
setInputStream(createRecomFromTencent());
} catch (IOException e) {
// TODO Auto-generated catch block
Logger.getLogger().error("网络出现异常:"+e);
}
return SUCCESS;
}
public static void main(String args[]) throws IOException{
RecommendTopicAction a=new RecommendTopicAction();
a.createRecomFromTencent();
}
}
前端JS请求如下:
function recomTopic(){
$.ajax({
url: "<%=basePath %>RecommendServlet.servlet",
type: "post",
dataType : "json",
data:{"keyword":keyword},
success : show
})
}
在action中跑main函数,System.out打印结果
{"data":{"hasnext":1,"info":[{"favnum":256,"id":"14788155191417781697","text":"中国","tweetnum":35029},{"favnum":64202,"id":"3958183173820082117","text":"中国好声音","tweetnum":1484871},{"favnum":45364,"id":"16672418334819547826","text":"中国达人秀","tweetnum...(没全写出来)
但是启动项目,前端JS调用,打印结果却是空
{"data":null,"errcode":0,"msg":"result is empty","ret":0,"seqid":5945197330038810832}
求解惑???
解决方案 »
- 让我百撕不得骑姐的问题,求真相
- jsp中 页面是使用的“UTF-8编码” 但在使用String name = request.getParameter("name") 得到的name为??乱码
- 正则表达式
- 为什么MyEclipse总是不停的编译呢
- 一套题求答案
- 庆祝新年,继续散分
- 程序需要import两个包:org.apache.jasper.*和org.apache.jsp.*,请问到哪下载?
- 求助,关于脚本jsp问题?
- tomcat5下,admin用户管理界面是用Struts的taglib写的?送分了..
- 急!!!!!
- java 数据库提取大量数据生成txt文档,java内存总是溢出。。
- jfreechart 堆栈柱状图 怎么让柱子的颜色顺序与图例一致
{"data":{"hasnext":1,"info":[{"favnum":256,"id":"14788155191417781697","text":"中国","tweetnum":35029},{"favnum":64202,"id":"3958183173820082117","text":"中国好声音","tweetnum":1484871},{"favnum":45364,"id":"16672418334819547826","text":"中国达人秀","tweetnum...(没全写出来)
启动WEB项目后,前端JS调用,System.out.println那句话打印结果却是空,如下
{"data":null,"errcode":0,"msg":"result is empty","ret":0,"seqid":5945197330038810832}
结果又返回,但是空的
{"data":{"hasnext":1,"info":[{"favnum":256,"id":"14788155191417781697","text":"中国","tweetnum":35029},{"favnum":64202,"id":"3958183173820082117","text":"中国好声音","tweetnum":1484871},{"favnum":45364,"id":"16672418334819547826","text":"中国达人秀","tweetnum...(没全写出来)
启动WEB项目后,前端JS调用,System.out.println那句话打印结果却是空,如下
{"data":null,"errcode":0,"msg":"result is empty","ret":0,"seqid":5945197330038810832}
结果又返回,但是空的
你最好还是打个断点debug一下吧