안드로이드 개발 질문/답변
(글 수 45,052)
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("id", id.getText().toString()));
nameValuePairs.add(new BasicNameValuePair("passwd", passwd.getText().toString()));
Log.d("login", nameValuePairs.toString());
Log.d("login", "id:"+nameValuePairs.get(0).toString());
Log.d("login", "id value:"+nameValuePairs.get(0).getValue().toString());
HttpPost httpPost = new HttpPost(url);
UrlEncodedFormEntity entityRequest = new UrlEncodedFormEntity(nameValuePairs, "UTF-8");
httpPost.setEntity(entityRequest);
Log.d("login", "encodeEntity: "+entityRequest);
http.execute(httpPost,responseHandler);
NameValuePair 타입의 ArrayList를 넘겨주는것을 로그값을 찍어보니,
[id=test, passwd=test] 이런식으로 나오더라구요.
저런식으로 배열 통째로 넘겨주게되면 받는쪽의 jsp 파일에서는 어떻게 처리를 해줘야 하는지 궁금합니다.
request.getParameter("id") 이런식으로 가져오려고 했는데
이런식으로 jsp파일을 작성하면 무한 대기상태에 빠지더라구요...
조언부탁드립니당!!
2011.05.13 15:18:09
답변감사합니다! 그런데 타임아웃을 설정해 놓아도 실패라고 뜨지않고 그냥 무한 대기상태에 빠져버리는군요 ㅠ_ㅠ
jsp에서 if문을 이용하여 if(request.getParameter("id")=="test") 이런식으로 비교하여 일치할 경우에 성공이라고
뜨게 작성해 놓았는데, test가 아닌 다른 문자열을 입력하면 실패라고 잘 뜹니다.
그런데 맞게 입력했을 경우에만 무한 대기상태에 빠지는군요 ㅠ_ㅠ 왜 이럴까요..
안드로이드 코드 자체는 로그인 예제로 올라와있는 것을 수정없이 사용한 것이라 문제가 없는것으로 생각되는데요..
뭐가 문제일까요..




jsp에서 받을 때 님께서 작성하신 request.getParameter("id"); 이런식으로 받는 것 맞습니다.
이렇게 해서 무한 대기에 빠진다면 다른 곳에서 문제가 있는 것 같습니다.
아니면 타임아웃을 설정해 주세요.
일정시간 동안 응답이 없으면 연결 실패로 간주합니다.
타임아웃 설정은
HttpParams params = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(params, 5000); // 두번째 인자가 타임아웃 시간
httpPost.setParams(params);