三种方式提交数据至服务器验证:

  (登录案列)



布局文件

<?xml version="1.0" encoding="utf-8"?>             

服务器端 (利用Tomcat发布)

package com.sun.servlet;import java.io.IOException;import java.io.Writer;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.sun.biz.Dtb_login_biz;import com.sun.biz.Dtb_login_bizImp;import com.sun.biz.Dtb_users_biz;import com.sun.biz.Dtb_users_bizImp;import com.sun.entity.Dtb_login;import com.sun.entity.Dtb_users;public class LoginServlet extends HttpServlet{@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String aname=req.getParameter("aname");String apass=req.getParameter("apass");Dtb_login dtb_login=new Dtb_login(aname, apass);String result=null;Dtb_login_biz login_biz=new Dtb_login_bizImp();  Writer out =resp.getWriter();    if(login_biz.Login(dtb_login)){  //判断后返回你想要返回的数据     result="true";}else{ result="falseOne";}      out.write(result);        out.flush(); }}

注意:如果是get提交的话,只需要将doPost 改成doGet 即可。


  一、原生态get提交(不提倡:get方式对数据及的保护性不够高)

package com.example.android32_submit;import android.os.AsyncTask;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.EditText;import android.widget.Toast;import com.loopj.android.http.AsyncHttpClient;import com.loopj.android.http.RequestParams;import com.loopj.android.http.TextHttpResponseHandler;import org.apache.http.Header;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;public class MainActivity extends AppCompatActivity {    private EditText et_aname;    private EditText et_apass;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //获取控件        et_aname = (EditText) findViewById(R.id.et_aname);        et_apass = (EditText) findViewById(R.id.et_apass);    }    //get方式提交数据去服务器验证    public void getSubmit(View view){        //获取输入框的用户名和密码        String aname=et_aname.getText().toString();        String apass=et_apass.getText().toString();        //服务器验证路径        String path="http://192.168.43.210:8080/T2/alogin.do";        new MyGetTask().execute(aname,apass,path);    }    class MyGetTask extends AsyncTask{        @Override        protected Object doInBackground(Object[] objects) {            //获取传过来的参数            String aname=objects[0].toString();    //用户名            String apass=objects[1].toString();    //密码            String path=objects[2].toString();      //请求路径            try {                URL url=new URL(path);                HttpURLConnection conn= (HttpURLConnection) url.openConnection();                   //设置请求方式                   conn.setRequestMethod("GET");                    //设置响应时间                    conn.setConnectTimeout(5000);                if(conn.getResponseCode()==200){//判断结果码                    InputStream is=conn.getInputStream(); //打开输入流                    BufferedReader br=new BufferedReader(new InputStreamReader(is));                    String s=br.readLine();                    return  s;                }            } catch (MalformedURLException e) {                e.printStackTrace();            } catch (IOException e) {                e.printStackTrace();            }            return null;        }        @Override        protected void onPostExecute(Object o) {            super.onPostExecute(o);            String s= (String) o;            Toast.makeText(MainActivity.this, ""+s, Toast.LENGTH_SHORT).show();        }    }

  二、原生态的post提交


  //post方式提交数据去服务器验证    public void postSubmit(View view){        //获取输入框的用户名和密码        String aname=et_aname.getText().toString();        String apass=et_apass.getText().toString();        //服务器验证路径        String path="http://192.168.43.210:8080/T2/alogin.do";        new MyPostTask().execute(aname,apass,path);    }   class MyPostTask extends  AsyncTask{       @Override       protected Object doInBackground(Object[] objects) {           //获取传过来的参数           String aname=objects[0].toString();    //用户名           String apass=objects[1].toString();    //密码           String path=objects[2].toString();      //请求路径           try {               URL url=new URL(path);               HttpURLConnection conn= (HttpURLConnection) url.openConnection();               //设置请求方式               conn.setRequestMethod("POST");               //设置响应时间               conn.setConnectTimeout(5000);               String str="aname="+aname+"&apass="+apass;               //添加请求头               conn.setRequestProperty("Content-Length",str.length()+"");               conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");               //设置允许对外输出数据               conn.setDoOutput(true);               OutputStream os=conn.getOutputStream();               os.write(str.getBytes());               if(conn.getResponseCode()==200){//判断结果码                   InputStream is=conn.getInputStream(); //打开输入流                   BufferedReader br=new BufferedReader(new InputStreamReader(is));                   String s=br.readLine();                   return  s;               }           } catch (MalformedURLException e) {               e.printStackTrace();           } catch (IOException e) {               e.printStackTrace();           }           return null;       }       @Override       protected void onPostExecute(Object o) {           super.onPostExecute(o);           String s= (String) o;           Toast.makeText(MainActivity.this,s, Toast.LENGTH_SHORT).show();       }   }

  三、第三方AsyncHttpClient 提交


  下载地址:http://download.csdn.net/detail/a985548426/9913244


在Android端导入上面的架包,因为这个架包是依赖谷歌公式HttpClient的所以导入架包后还得在build.gradle中加入下图中画框的代码即可



    //async第三方提交数据去服务器验证    public  void asyncSubmit(View view){        //获取输入框的用户名和密码        String aname=et_aname.getText().toString();        String apass=et_apass.getText().toString();        //服务器验证路径        String path="http://192.168.43.210:8080/T2/alogin.do";        AsyncHttpClient ahc=new AsyncHttpClient();        RequestParams rp=new RequestParams();        rp.put("aname",aname);        rp.put("apass",apass);        ahc.post(this,path,rp,new TextHttpResponseHandler(){            @Override            public void onFailure(int statusCode, Header[] headers, String responseBody, Throwable error) {                super.onFailure(statusCode, headers, responseBody, error);            }            @Override            public void onSuccess(int statusCode, Header[] headers, String responseBody) {                super.onSuccess(statusCode, headers, responseBody);                Toast.makeText(MainActivity.this, responseBody, Toast.LENGTH_SHORT).show();            }        });    }}

更多相关文章

  1. Android与服务器传递数据
  2. android传送照片到FTP服务器
  3. Java乔晓松-android中上传图片到服务器Tomcat(Struts2)
  4. android客户端通过Get方式提交参数给服务器,使用URL和HttpURLConn
  5. 通过ijetty获取android设备的截图
  6. Android使用webview让服务器上的js调用java代码的方法
  7. Android(安卓)HTTPS实战1
  8. Android中调用Rest web服务
  9. Android访问服务器出现W/System.err(9302): java.io.FileNotFoun

随机推荐

  1. Android(安卓)SharedPreferences 首次运
  2. Android内存分析工具 — Memory Profiler
  3. 手机淘宝Android客户端架构
  4. 深入讲解Android(安卓)MVP框架,附一个很屌
  5. 玩Android小程序v2.0,力争做最漂亮的玩And
  6. 使用CSS3 Media Query技术适配Android平
  7. Android轮播的实现与分析
  8. android开发中对于onLowMemory& onTrimMe
  9. 【转】Android导出jar library时资源reso
  10. Android(安卓)Binder实现浅析-Binder驱动