首页 > 代码库 > Android开发使用POST方式向服务器请求和发送数据
Android开发使用POST方式向服务器请求和发送数据
前面说了GET方式。现在尝试一下POST
#1.首先先用新建个servlet处理登陆请求
package com.wzw.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class LoginServlet */ public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public LoginServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username=request.getParameter("username"); String password=request.getParameter("password"); if(username.equals("admin")&&password.equals("123456")){ response.getWriter().println("success"); }else{ response.getWriter().println("failed"); } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub
<span style="white-space:pre"> </span>this.doGet(request,response); } }
#2.布局文件也很简单
<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:orientation="vertical" tools:context=".MainActivity" > <EditText android:layout_marginTop="10dp" android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/et_username" android:hint="请输入名字"/> <EditText android:layout_marginTop="10dp" android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/et_password" android:hint="请输入密码"/> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:onClick="doGet" android:text="GET方式提交"/> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:onClick="doPost" android:text="POST方式提交"/> </LinearLayout>
#3在mainactivity中实现方法
package com.wzw.submitdata; import com.wzw.submitdata.utils.NetUtil; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { private EditText etUsername; private EditText etPassword; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); etUsername = (EditText) findViewById(R.id.et_username); etPassword = (EditText) findViewById(R.id.et_password); } public void doGet(View v){ final String username=etUsername.getText().toString(); final String password=etPassword.getText().toString(); new Thread(new Runnable() { @Override public void run() { //访问网络要在子线程中实现,使用get取数据 final String state=NetUtil.loginOfGet(username, password); //执行在主线程上 runOnUiThread(new Runnable() { public void run() { //就是在主线程上操作,弹出结果 Toast.makeText(MainActivity.this, state, 0).show(); } }); } }).start(); } public void doPost(View v){ final String username=etUsername.getText().toString(); final String password=etPassword.getText().toString(); new Thread(new Runnable() { @Override public void run() { final String state=NetUtil.LoginOfPost(username, password); //执行在主线程上 runOnUiThread(new Runnable() { public void run() { //就是在主线程上操作,弹出结果 Toast.makeText(MainActivity.this, state, 0).show(); } }); } }).start(); } }
#4.具体处理GET和POST的方法
package com.wzw.submitdata.utils; import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class NetUtil { /** * 使用GET访问去访问网络 * @param username * @param password * @return 服务器返回的结果 */ public static String loginOfGet(String username,String password){ HttpURLConnection conn=null; try { String data=http://www.mamicode.com/"username="+username+"&password="+password;>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。