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();
?}
轉載于:https://www.cnblogs.com/wushunlin287/archive/2013/04/15/3022283.html
總結
以上是生活随笔為你收集整理的android使用apache http包链接servlet的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 若非必要请勿直接使用@_
- 下一篇: C#编程-Access数据库的简单应用