【问题标题】:servlet response to android deviceservlet 对 android 设备的响应
【发布时间】:2013-11-06 04:38:04
【问题描述】:

自从最近几天试图获得这个结果以来,我陷入了困境,但无法带来任何预期的结果。我将努力让自己清楚我在以下几点中寻找什么:

  • 我正在开发 android 应用程序,它将使用 servlet(在我的本地主机上)更新用户在服务器上的位置。这没有问题,一切正常。
  • 我遇到的真正问题是当我试图从服务器获取响应返回到 android 设备时,我只想返回一个简单的字符串或类似的东西,很可能是一个参数,将被android 应用程序。然后我开始了解我必须使用它来做我正在寻找的事情的 json 东西。我已经搜索了很多关于它的内容,也找到了一些代码,但不能很好地使用它,李>

所以我的问题是

  1. 是否可以在不使用 json 或任何解析技术的情况下从 servlet 检索响应,并从中提取所需的值,因为我只需要像单个字符串这样的东西。
  2. HttpClient client=new DefaultHttpClient(); HttpGet request=new HttpGet(); URI address=new URI("http://xxx.xxx.xxx.xxx:8080/MyServlet"); request.setUri(address); HttpResponse response=client.execute(request); 上面显示了来自 android 设备的请求响应和 servlet 的代码,但是当我在 android 设备中调用 response.toString() 上的 toString 方法时,它会产生一个带有一些数字序列的字符串,这对我。 帮助!帮助!帮助!

一个简单的例子可能会帮助我,

【问题讨论】:

    标签: java android json servlets


    【解决方案1】:

    您可以使用无需任何编码技术即可生成纯文本结果的 servlet。

    在服务器端,只需将您的 doGet 函数替换为如下所示:

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        PrintWriter out = response.getWriter();
        out.println("Hello World");
    }
    

    在客户端,您可以使用以下代码:

    try {
        final HttpClient httpClient = new DefaultHttpClient();
        final HttpGet httpGet = new HttpGet("http://SERVLET_URL/");
        HttpResponse response = httpClient.execute(httpGet);
        final HttpEntity entity = response.getEntity();
        Log.i(TAG, "Servlet Result: " + EntityUtils.toString(entity));
    } catch (ClientProtocolException e) {
        Log.e(TAG, "ClientProtocolException", e);
    } catch (ParseException e) {
        Log.e(TAG, "ParseException", e);
    } catch (IOException e) {
        Log.e(TAG, "IOException", e);
    }
    

    【讨论】:

    • 非常感谢,这对我有帮助.... :),我希望从一个简单的字符串开始传递,然后转到其他类型,再次感谢。
    猜你喜欢
    • 1970-01-01
    • 2014-12-18
    • 1970-01-01
    • 2013-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    相关资源
    最近更新 更多