안드로이드와 웹(JSP) 통신을 하려고 합니다. 인터넷에 돌아다니는거 짜집기를 했는데요;;
안드로이드 쪽에서는 postURL토스트를 띄워서 확인해보면 연결완료와 getApplicationContentext()를 띄워보면 데이터 전송 토스트가 뜨는걸보면 안드로이드 쪽에서는 이상없이 잘 보내지는 것같은데 JSP 쪽에서 못받는건지 톰캣으로 돌려서 System.out.println을찍어 콘솔로 확인해보면null값만 찍히고 있네요...톰캣실행시켜서 안드로이드에서 보내기 버튼을 누르고 웹상에서 갱신 이렇게 하는게 맞을까요? 혹시 어디가 문제인지 알려주시면 감사하겠습니다.
안드로이드 소스
public class MainActivity extends ActionBarActivity {
Button btn_success, btn_back;
EditText id_user,pw_user, pw2_user, name_user, phone_user, addr_user;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
//requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
btn_success = (Button)findViewById(R.id.success_btn);
btn_back = (Button)findViewById(R.id.back_btn);
;
id_user = (EditText)findViewById(R.id.user_id);
pw_user = (EditText)findViewById(R.id.user_pw);
pw2_user = (EditText)findViewById(R.id.user_pw2);
name_user = (EditText)findViewById(R.id.user_name);
phone_user = (EditText)findViewById(R.id.user_phone);
addr_user = (EditText)findViewById(R.id.user_addr);
btn_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"돌아가기버튼",Toast.LENGTH_SHORT);
finish();
}
});
btn_success.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
write();
}
});
}
private void write(){
try {
HttpClient client = new DefaultHttpClient();
String postURL = "http://192.168.0.52:8080/JSONServer.jsp"; //컴퓨터 IP
HttpPost post = new HttpPost(postURL);
System.out.println(postURL);
Toast.makeText(getApplicationContext(), "연결완료", Toast.LENGTH_LONG).show();
ArrayList<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("dbid", id_user.getText().toString()));
params.add(new BasicNameValuePair("dbpw", pw_user.getText().toString()));
params.add(new BasicNameValuePair("dbpw2", pw2_user.getText().toString()));
params.add(new BasicNameValuePair("dbname", name_user.getText().toString()));
params.add(new BasicNameValuePair("dbphone", phone_user.getText().toString()));
params.add(new BasicNameValuePair("dbaddr", addr_user.getText().toString()));
System.out.println(id_user);
Toast.makeText(getApplicationContext(), "데이터전송", Toast.LENGTH_LONG).show();
UrlEncodedFormEntity ent = new UrlEncodedFormEntity(params, HTTP.UTF_8);
post.setEntity(ent);
HttpResponse responsePost = client.execute(post);
HttpEntity reEntity = responsePost.getEntity();
Toast.makeText(getApplicationContext(), "완료", Toast.LENGTH_LONG).show();
if (reEntity != null) {
Log.w("RESPONSE", EntityUtils.toString(reEntity));
}
} catch (Exception e) {
}
}
}
JSP소스
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String id = request.getParameter("dbid");
System.out.println(id);
String pw = request.getParameter("dbpw");
System.out.println(pw);
String name = request.getParameter("dbname");
System.out.println(name);
String phone = request.getParameter("dbphone");
System.out.println(phone);
String addr = request.getParameter("dbaddr");
System.out.println(addr);
%>