package com.zhongkechuangda.a10getpost;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class MainActivity extends AppCompatActivity {
private EditText et_username;
private EditText et_password;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_username = findViewById(R.id.et_username);
et_password = findViewById(R.id.et_password);
}
public void bt_GET(View v){
new Thread(){
@Override
public void run() {
String username = et_username.getText().toString().trim();
String password = et_password.getText().toString().trim();
String path="http://192.168.0.102:8080/login/LoginServlet?username="+username+"&password="+password;
try {
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5000);
conn.setRequestMethod("GET");
int code = conn.getResponseCode();
if(code==200){
InputStream in = conn.getInputStream();
String content = Utils.StreamF(in);
showToast(content);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
public void bt_POST(View v){
new Thread(){
@Override
public void run() {
//1与get地址不同
String path="http://192.168.0.102:8080/login/LoginServlet";
try {
String username = et_username.getText().toString().trim();
String password = et_password.getText().toString().trim();
URL url = new URL(path);
String Date="username="+username+"&password="+password;
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5000);
//2方法不同
conn.setRequestMethod("POST");
//3多两个请求头信息
conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
conn.setRequestProperty("Content-Length",Date.length()+"");
//4把我们拼凑的数据用流的形式提交给服务器
conn.setDoOutput(true);//设置一个标记 允许输出
conn.getOutputStream().write(Date.getBytes());//
int code = conn.getResponseCode();
if(code==200){
InputStream in = conn.getInputStream();
String content = Utils.StreamF(in);
showToast(content);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
public void showToast(final String content){
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(),content,1).show();
}
});
}
}
package com.zhongkechuangda.a10getpost;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class Utils {
public static String StreamF(InputStream in) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] bytes = new byte[1024];
int len=0;
while((len=in.read(bytes))!=-1){
baos.write(bytes,0,len);
}
in.close();
String content=baos.toString();
return content;
}
}