Android Http从Servlet获取字符串数据
我试图从android中的Javaservlet返回一个简单的url字符串。我可以得到的网址回来,但有一个空的前缀 以下是我用来调用servlet的Android代码:Android Http从Servlet获取字符串数据,android,string,google-app-engine,http,servlets,Android,String,Google App Engine,Http,Servlets,我试图从android中的Javaservlet返回一个简单的url字符串。我可以得到的网址回来,但有一个空的前缀 以下是我用来调用servlet的Android代码: HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet("http://localhost:8888/mcheck_gen_url_fu"); HttpResponse response = client.execute(request
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("http://localhost:8888/mcheck_gen_url_fu");
HttpResponse response = client.execute(request);
//Here i try to read the response
BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
while ((line = rd.readLine()) != null) {
output += line + System.getProperty("line.separator");
}
//I am able to get the response but there is a null pre-pended
以下是servlet代码:
public class mcheck_gen_url_fu extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
String output = blobstoreService.createUploadUrl("/mcheck_file_upload");
resp.setContentType("text/plain");
resp.getWriter().print(output);
}
}
以下是url的外观:
nullhttp://anyusers-MacBook-Air.local:8888/_ah/upload/ag5tY2hlY2stcGF5bWVudHIbCxIVX19CbG9iVXBsb2FkU2Vzc2lvbl9fGBwM
这样做对吗?我试过Gson,但它也被空值阻塞了
提前谢谢
output = "";
while ((line = rd.readLine()) != null) {
output += line + System.getProperty("line.separator");
}
顺便说一下,最好的做法是
final StringBuilder sb = new StringBuilder();
final String sep = System.getProperty("line.separator");
while ((line = rd.readLine()) != null) {
sb.append(line).append(sep);
}
output = sb.toString();