Android 客户端和服务器使用 servlet

标签 android servlets

我在本地主机上运行我的 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();
    }

}

最佳答案

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

关于Android 客户端和服务器使用 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7609829/

相关文章:

spring - java.lang.IllegalStateException : No WebApplicationContext found: no ContextLoaderListener registered?

spring - 在hibernate拦截器中获取http session /请求

android - 覆盖主页按钮 - 我如何摆脱选择?

android - 大量 GC_CONCURRENT 释放的消息,不是我的应用程序

java - 更改 R.java 文件内容

java - Blender 3D 渲染 Java servlet 接口(interface)

java - 为什么欢迎文件 url 的每个 url 都是 "redirecting"?

android - 使用proguard保持具有单个参数的方法

android - 滚动时折叠工具栏和回收器 View 不会折叠

mysql - 在mysql中将秒转换为日期时间