free_2013

导航

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();
 }

posted on 2013-04-15 15:59  free_2013  阅读(243)  评论(0)    收藏  举报