0

我在 Android 项目中使用 LoopJ AndroidAsyncHttp 库,但是当我尝试在服务器端获取参数时,我得到空值。我尝试使用 PHP & Java 相同的结果。我 100% 确定我的服务器端工作正常,因为我使用邮递员 chrome 插件并且它工作正常:

客户代码:

public void sendRequest(View v) {

    try {

        AsyncHttpClient client = new AsyncHttpClient();

        // HashMap<String, String> paramsMap = new HashMap<String,
        // String>();
        // paramsMap.put("action", "Action Value");
        // RequestParams params = new RequestParams(paramsMap);

        RequestParams params = new RequestParams();
        params.add("action", "insert");

        AsyncHttpResponseHandler handler = new AsyncHttpResponseHandler() {

            @Override
            public void onSuccess(int statusCode, Header[] headers,
                    byte[] body) {
                System.out.println("On Success --> Status Code: "
                        + statusCode);
                String response = new String(body);
                System.out.println("On Success --> Response: " + response);
            }

            @Override
            public void onFailure(int statusCode, Header[] headers,
                    byte[] body, Throwable error) {
                System.out.println("On Failure --> Status Code: "
                        + statusCode);
            }
        };

        String url1 = "http://192.168.1.9:8080/Tester";
        String url2 = "http://192.168.1.6/test";
        System.out.println("--->>> Params: " + params.toString());
         client.post(url1, params, handler);


    } catch (Exception e) {
        System.out.println("--> Exception: " + e.getMessage());
    }
}

服务器代码(Java):

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    System.out.println("------->>> " + request.getParameter("action"));
    response.setContentType("text/html;charset=UTF-8");
    try (PrintWriter out = response.getWriter()) {
        /* TODO output your page here. You may use following sample code. */
        out.println("<!DOCTYPE html>");
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet FrontEndController</title>");            
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Servlet FrontEndController at " + request.getContextPath() + "</h1>");
        out.println("</body>");
        out.println("</html>");
    }
}
4

0 回答 0