【问题标题】:Android client and server using servlet使用 servlet 的 Android 客户端和服务器
【发布时间】:2011-11-28 10:02:16
【问题描述】:

我在本地主机上运行我的 servlet 程序,我的 android 代码在同一系统的模拟器上运行,我想从 android 客户端向 servlet 发送一些请求,servlet 程序也应该发回一些数据收到请求后到android,它应该使用响应发送。请告诉我代码。

这是我的安卓代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

import android.util.Log;

public class CheckHttpClint {
    public static void executeHttpPost() throws IOException {
        BufferedReader bufferedReader = null;
        try {

            HttpClient client = new DefaultHttpClient();

            HttpPost httpPost = new HttpPost("url");

            List<BasicNameValuePair> pairs = new ArrayList<BasicNameValuePair>();
            String details = "details";
            pairs.add(new BasicNameValuePair("pid", details));
            httpPost.setEntity(new UrlEncodedFormEntity(pairs));
            HttpResponse httpResponse = client.execute(httpPost);

            bufferedReader = new BufferedReader(new InputStreamReader(
                                                    httpResponse.getEntity().getContent()));
            StringBuffer buffer = new StringBuffer("");
            String line = "";
            String NL = System.getProperty("line.separater");
            while ((line = bufferedReader.readLine()) != null) {
                buffer.append(line + NL);
                System.out.println(buffer);
                Log.i("data send.", null);


            }
            bufferedReader.close();
            String page = buffer.toString();
            System.out.println(page);

        } finally {
            if (bufferedReader != null) {
                try {
                    bufferedReader.close();
                } catch (IOException exception) {
                    exception.printStackTrace();
                }
            }
        }
    }
}


servlet code:
import java.io.*;
import java.util.*;
import javax.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class DBConnection extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)throws     IOException, ServletException {



        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        out.println("<html>");
        out.println("<body>");

        String pid1 = request.getParameter("pid");
        out.print(pid1);
        out.println("</body></html>");
        out.close();
    }

}

【问题讨论】:

    标签: android servlets


    【解决方案1】:

    您可以找到描述 GET、POST 和 MULTIPART POST here 的 android 教程

    【讨论】:

    • 仍然无法在 servlet 端检索数据,感谢 kris 的帮助......
    • 在 android 端你创建一个 HTTP POST 请求,但在服务器端你只读取 GET 请求。还有一些其他错误,例如“line.separator”而不是“line.separator”。
    猜你喜欢
    • 2019-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-17
    • 1970-01-01
    相关资源
    最近更新 更多