无法将数据从Servlet传递到Android

时间:2016-10-15 10:44:34

标签: java android json servlets

我是Android新手。关于从Servlet到Android的传回数据有几个问题。

所以这是我在servlet的代码:

protected void doGet(HttpServletRequest request,
    HttpServletResponse response) throws ServletException, IOException {
JSONArray jsonArray = new JSONArray();
PrintWriter out = response.getWriter();

String action = request.getParameter("action");
if (action.equalsIgnoreCase("GetAllGame")) {
    try {
        PreparedStatement statement = db
                .getStatement("SELECT * FROM game");
        ResultSet result = statement.executeQuery();
        while (result.next()) {
            JSONObject gameInfo = new JSONObject();
            gameInfo.put("gameID", result.getString("gameID"));
            gameInfo.put("gameVenue", result.getString("venueID"));
            gameInfo.put("gameDate", result.getString("date"));
            gameInfo.put("gameCapacity",
                    result.getString("gameCapacity"));
            gameInfo.put("gameCredit",
                    result.getString("gameCredit"));
            gameInfo.put("gameBy", result.getString("gameBy"));
            gameInfo.put("gameStart", result.getString("gameStart"));
            gameInfo.put("gameEnd", result.getString("gameEnd"));
            jsonArray.put(gameInfo);
        }
    }

    catch (JSONException je) {
        System.out.println(je.getMessage());
    } catch (Exception exc) {
        System.out.println(exc.getMessage());
    }

    out.println(jsonArray.toString());
    System.out.println(jsonArray.toString());
    out.write(jsonArray.toString());
    out.flush();
} 

当我启动servlet时,会弹出一个包含以下文本的网站:

TODO写内容 点击这里去我的Servlet

抱歉,因为我还是新手,无法发布图片。当我在诸如http://localhost:8080/WebService/MyServlet?action=GetAllGame的计算机上执行URL时,在GlassFish服务器选项卡的控制台上,它确实打印出所有数据,但弹出网站上没有显示任何内容。

然而,当我将手机连接到电脑并尝试从手机中获取数据时,同样的事情发生了,数据显示在控制台上,而不是显示在手机网站上。我认为应该用一些json格式的数据显示它?

所以我认为直到我将它实现到我的Android应用程序中时它才可以,并且它声明从servlet传回的json是空的。有什么想法吗?

我的意思是数据只是从我的电脑打印出来但实际上并没有返回到Android。

0 个答案:

没有答案