【问题标题】:Android Http Get String Data From ServletAndroid Http 从 Servlet 获取字符串数据
【发布时间】:2012-05-16 13:27:02
【问题描述】:

我正在尝试从 android 中的 java servlet 返回一个简单的 url 字符串。我可以取回网址,但前面有一个空值。

这是我用来调用 servlet 的 Android 代码:

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);
    }
}

网址如下所示:

nullhttp://anyusers-MacBook-Air.local:8888/_ah/upload/ag5tY2hlY2stcGF5bWVudHIbCxIVX19CbG9iVXBsb2FkU2Vzc2lvbl9fGBwM

这是正确的方法吗?我尝试了 Gson,但它也因 null 而窒息。

提前致谢。

【问题讨论】:

    标签: android string google-app-engine http servlets


    【解决方案1】:
        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();
    

    【讨论】:

      猜你喜欢
      • 2015-04-26
      • 1970-01-01
      • 2013-09-26
      • 2015-06-11
      • 2021-05-31
      • 2013-09-12
      • 2012-12-12
      • 2011-10-18
      • 2023-03-20
      相关资源
      最近更新 更多