android使用apache http包链接servlet
//android客户端代码
public class MainActivity extends Activity {
private TextView tv;
String loginUrl="http://10.0.2.2:8080/Login/servlet/LoginServlet";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=(TextView) findViewById(R.id.tv);
tv.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
HttpPost request=new HttpPost(loginUrl);
request.setHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");//http头,标识发送数据位UTF-8格式,使得服务端读取数据时调整编码格式
ArrayList<NameValuePair> parame=new ArrayList<NameValuePair>();
parame.add(new BasicNameValuePair("name","我们"));
parame.add(new BasicNameValuePair("pwd","45412301"));
try {
request.setEntity(new UrlEncodedFormEntity(parame,HTTP.UTF_8));//设置发送格式为UTF-8
HttpResponse response=new DefaultHttpClient().execute(request);
if (response.getStatusLine().getStatusCode()==200) {
String msg=EntityUtils.toString(response.getEntity());
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
//服务端servlet 响应代码
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
response.setCharacterEncoding("gbk");//设置响应字符的编码,使模拟器识别中文字符
PrintWriter out = response.getWriter();
String responseStr;
System.out.println(request.getParameter("name")+"--------"+request.getParameter("pwd"));
if (request.getParameter("name").equals("我们")&&request.getParameter("pwd").equals("45412301")) {
responseStr="我们是谁";
}else {
responseStr="no";
}
out.println(responseStr);
out.flush();
out.close();
}