国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

安卓 向服務器提交數據(方式:get、post、AsyncHttpClient )

2019-11-06 09:48:00
字體:
來源:轉載
供稿:網友

之前寫了篇如何接受解析服務器傳過來的數據,今天就來講一下如何向服務器提交數據。寫了個小demo. 效果圖如下:

這里寫圖片描述

服務端:

方法:

@RequestMapping("dologin.xhtml") public String login(HttpServletRequest req){ String uname=req.getParameter("uname"); String passWord=req.getParameter("pwd"); System.out.數據庫 if("admin".equals(uname)&&"123456".equals(password)){ result="success"; }else{ result="fail"; } req.setAttribute("result", result); //System.out.println(uname+""+password); return "loginResult"; }

登錄界面:

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><html><HEAD> <TITLE> ZTREE DEMO - Standard Data </TITLE></HEAD><body><form action="dologin.xhtml" method="post"> name:<input type="text" name="uname"/><br/> password:<input type="text" name="pwd"/><br/> <input type="submit" value="登錄"/><br/> </form> </div></body></html>

返回結果頁面:

<%@ page language="java" contentType="text/plain; charset=UTF-8" pageEncoding="UTF-8"%>${result}

移動端:

xml:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context="com.example.an_comit_data_to_server.MainActivity"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:text="admin" android:id="@+id/et_main_uname" /> <EditText android:id="@+id/et_main_upass" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="123456" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="loginByGet" android:text="登錄(GET)" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="loginByPost" android:text="登錄(POST)" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="loginByAsyncHttpClient" android:text="登錄(AsyncHttpClient)" /></LinearLayout>

activity:

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.ResponseHandlerInterface;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.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL; private EditText et_main_uname; private EditText et_main_upass; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_main_uname =(EditText) findViewById(R.id.et_main_uname); et_main_upass = (EditText) findViewById(R.id.et_main_upass); } //get方式登錄 public void loginByGet(View view){ String uname=et_main_uname.getText().toString(); String password= et_main_upass.getText().toString(); String path="http://172.21.202.8:8090/front/dologin.xhtml"; new Mytask().execute(uname,password,path,"GET"); } //post方式登錄 public void loginByPost(View view){ String uname=et_main_uname.getText().toString(); String password= et_main_upass.getText().toString(); String path="http://172.21.202.8:8090/front/dologin.xhtml"; //可變數組 new Mytask().execute(uname, password, path, "POST"); } AsyncHttpClient asyncHttpClient=new AsyncHttpClient(); RequestParams requestParams=new RequestParams(); requestParams.put("uname",uname); requestParams.put("upass",upass); asyncHttpClient.post(path,requestParams,new TextHttpResponseHandler(){ @Override public void onSuccess(int statusCode, Header[] headers, String responseBody) { super.onSuccess(statusCode, headers, responseBody); Toast.makeText(MainActivity.this, responseBody, Toast.LENGTH_SHORT).show(); } @Override public void onFailure(int statusCode, Header[] headers, String responseBody, Throwable error) { super.onFailure(statusCode, headers, responseBody, error); } }); } class MyTask extends AsyncTask { private HttpURLConnection connection; private URL url; @Override protected Object doInBackground(Object[] objects) { //獲取參數的值 String uname = objects[0].toString(); String upass = objects[1].toString(); String path = objects[2].toString(); String type = objects[3].toString(); String str="uname="+uname+"&pwd="+password; try { if ("GET".equals(type)) { //用GET方式提交 path = path + "?"+str; url = new URL(path); connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod(type); } else if ("POST".equals(type)) { //用POST方式提交 url = new URL(path); connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod(type); //設置contentType contentLength connection.setRequestProperty("Content-Length",str.length()+""); connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded"); //設置允許對外輸出數據 connection.setDoOutput(true); //將用戶名和密碼提交到服務器 connection.getOutputStream().write(str.getBytes()); } connection.setConnectTimeout(5000); if (connection.getResponseCode() == 200) { InputStream is = connection.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String result = br.readLine(); return result; } } 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 框架時,需要導入相應的包,至于包可以到網上下載就不展示了,還需在清單文件加聯網權限。當然,同時還需搭建一個局域網,或要有網的情況下。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 砚山县| 凤城市| 九龙坡区| 怀来县| 洛川县| 新宁县| 乃东县| 安吉县| 甘德县| 奈曼旗| 佳木斯市| 西峡县| 双桥区| 广州市| 岳阳县| 定远县| 邯郸市| 博白县| 辽宁省| 甘孜县| 宜州市| 松潘县| 安岳县| 东乌珠穆沁旗| 拜城县| 锡林郭勒盟| 凤山市| 游戏| 尚义县| 虹口区| 历史| 新泰市| 吉水县| 四会市| 嘉禾县| 博客| 彩票| 广河县| 新巴尔虎右旗| 揭东县| 益阳市|