服务器-使用HttpClient通过Post发送数据,如何显示到Web界面上

问题描述

使用HttpClient通过Post发送数据,如何显示到Web界面上

以前没有接触过android和服务器的交互,在上网找了一个Demo 试着做了一下,在android上写的数据可以在后台打印输出,但是如何在Web服务器上显示出来,求指教。代码如下:

 package com.example.m04_http02;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {

    private EditText nameText;
    private EditText pwdText;
    private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        nameText = (EditText) findViewById(R.id.nameText);
        pwdText = (EditText) findViewById(R.id.pwdText);
        button = (Button) findViewById(R.id.button1);

        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                // 用户输入用户名密码, 然后通过Get方法发送给本地服务器
                String name = nameText.getText().toString();
                String pwd = pwdText.getText().toString();

                // 运行线程,使用GET方法向本地服务器发送数据
                GetThread getThread = new GetThread(name, pwd);
                getThread.start();
            }
        });
    }

    //子线程:通过GET方法向服务器发送用户名、密码的信息
    class GetThread extends Thread {

        String name;
        String pwd;

        public GetThread(String name, String pwd) {
            this.name = name;
            this.pwd = pwd;
        }

        @Override
        public void run() {
            //用HttpClient发送请求,分为五步
            //第一步:创建HttpClient对象
            HttpClient httpClient = new DefaultHttpClient();
            //注意,下面这一行中,我之前把链接中的"test"误写成了"text",导致调BUG调了半天没弄出来,真是浪费时间啊
            String url = "http://192.168.1.112:8080/test.jsp?name=" + name+ "&password=" + pwd;
            //第二步:创建代表请求的对象,参数是访问的服务器地址
            HttpGet httpGet = new HttpGet(url);
            try {
                //第三步:执行请求,获取服务器发还的相应对象
                HttpResponse response = httpClient.execute(httpGet);
                //第四步:检查相应的状态是否正常:检查状态码的值是200表示正常
                if (response.getStatusLine().getStatusCode() == 200) {
                    //第五步:从相应对象当中取出数据,放到entity当中
                    HttpEntity entity = response.getEntity();
                    BufferedReader reader = new BufferedReader(
                            new InputStreamReader(entity.getContent()));
                    String result = reader.readLine();
                    Log.d("HTTP", "GET:" + result);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }

        }
    }
}

解决方案

为什么要使用 httpclient 呢? 直接使用 servlet + jsp 进行通信不行吗? httpclient 是需要自己处理的。。。

解决方案二:

服务器端你要有servlet在跑的,接收到android端发送的信息然后匹配数据库的用户名密码,在返回结果到android客户端

解决方案三:

你可以写个servlet,覆盖其中的get方法,然后可以用request。getParamters("name");.......

时间: 2024-09-17 03:14:54

服务器-使用HttpClient通过Post发送数据,如何显示到Web界面上的相关文章

手机app-网络通信问题,手机往指定网页发送数据并显示

问题描述 网络通信问题,手机往指定网页发送数据并显示 网络通信,手机如何将数据传递到指定网页上进行显示??网页是用PHP语言写的,,事情紧急,求指导啊!非常感谢 另外,这里说的通信,不是本地通信,不是本地服务,而是真正的网络通信.谢谢 解决方案 手机上发出http请求,PHP接收到请求把数据存放到服务器中(比如数据库里),打开网页时PHP动态读取存储的数据并显示在网页上

ajax 发送数据并显示返回数据

<script language="javascript"> function getInfo(url) {  if (window.XMLHttpRequest)  {   req=new XMLHttpRequest();  }  else if (window.ActiveXObject)  {   req=new ActiveXObject("Microsoft.XMLHTTP");  }  if(req)  {   req.open("

发送数据-怎么实现STM32和因特网服务器传送数据

问题描述 怎么实现STM32和因特网服务器传送数据 就是我STM32上有3G模块,可以发送数据,但是我服务器怎么才能接受和发送数据? 是用TCP协议么?如果STM32不行,那什么单片机可以? 解决方案 TCP/IP协议吧 STM和3G模块之间用什么通讯? 解决方案二: 用3G模块的内置协议栈的话比较简单

Android系列之网络(三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)

[正文] 在前两篇文章中,我们学习到了和HTTP相关的基础知识.文章链接如下: Android系列之网络(一)----使用HttpClient发送HTTP请求(通过get方法获取数据) Android系列之网络(二)----HTTP请求头与响应头 一.GET和POST的对比: 在漫长的时间当中,其他的方法逐渐的退出了历史舞台,最常用的只剩下GET和POST方法.而之前已经讲过了通过GET方法获取数据,今天来学习一下如何分别通过GET和POST获取数据. 举个例子:get类似于明信片,只有请求头,

超级网口USR-K3向服务器发送数据时是怎么发的

问题描述 超级网口USR-K3向服务器发送数据时是怎么发的 如题,数据会先发送到哪,服务器从哪里拿到这个值,USR-K3的配置要怎么设才能发送到服务器.

udp通信 接收不到包-win7 下进行UDP通信测试发现UDP服务器无法接收到CLIENT的发送数据这是啥原因?

问题描述 win7 下进行UDP通信测试发现UDP服务器无法接收到CLIENT的发送数据这是啥原因? 进行UDP数据通信的时候,UDP的客户端用WIRESHARK抓包,能很明显的看到数据发出来了,数据格式也是正确的,但是服务那边的就是接受不到数据,接受卡在接受哪里不动了.查看防火墙,防火墙也是关了的:该程序在WINXP下通信都是正确的,哪位大侠能给下解决方案?总觉得是WIN7在哪里设置有问题:另外我查看QQ的设置,开放该应用程序的UDP协议为开放所有协议,还是不行. 解决方案 WIN7下UDP需

android 如何用 http GET请求方式向服务器发送数据,并接收返回的数据

问题描述 android 如何用 http GET请求方式向服务器发送数据,并接收返回的数据 就发送自定义的一个字符串s,求一个简单的例子,GET请求方式向服务器发送数据,并接收返回的数据 解决方案 public class HttpUtil { private static final int CONNECT_SUCESS = 200; public static void sendHttpRequest(final String address, final HttpCallBackList

服务器-网络编程中并未建立连接的端口却能往套接字中写,发送数据,困惑

问题描述 网络编程中并未建立连接的端口却能往套接字中写,发送数据,困惑 拜托各位了,碰上一个难以理解的困惑 情况如下 我在qt中编写了一个客户端(抛开qt,也可以理解为别的写的),在这个应用程序中有一个对象是专门用来建立连接并且处理和服务器的相关的通信. 服务器的话是在linux下c写的,简单的可以看做这种模式accept等待连接,连接成功后阻塞读写 while(1) { clientfd = accept(lfd, null, null): printf("new connectn"

nodejs创建服务器,要实现前端发送过来一个数据,服务执行相应的js文件,怎么实现?

问题描述 nodejs创建服务器,要实现前端发送过来一个数据,服务执行相应的js文件,怎么实现? nodejs创建服务器,要实现前端发送过来一个数据,服务执行相应的js文件,怎么实现?