프로그래밍/Android
[Android] JSP와 데이터 주고 받기
꼬렙
2011. 9. 19. 13:53
728x90
[Android]
public String sendData(String name, String password, String url) throws Exception {
public String sendData(String name, String password, String url) throws Exception {
HttpPost request = makeHttpPost(name, password, url);
HttpClient client = new DefaultHttpClient();
ResponseHandler<String> reshandler = new BasicResponseHandler();
String result = client.execute(request, reshandler);
return result;
}
private HttpPost makeHttpPost(String name, String password, String url) throws Exception {
HttpPost request = new HttpPost(url);
Vector<BasicNameValuePair> nameValue = new Vector<BasicNameValuePair>();
nameValue.add(new BasicNameValuePair("name", name));
nameValue.add(new BasicNameValuePair("password", password));
request.setEntity(makeEntity(nameValue));
return request;
}
private HttpEntity makeEntity(Vector<BasicNameValuePair> nameValue) throws Exception {
HttpEntity result = null;
try {
result = new UrlEncodedFormEntity(nameValue, "euc-kr");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return result;
}
사용법은 이렇다
String receiveData = sendData("꼬렙", "1234", "http://ggoreb.cafe24.com/request.jsp");
넣고싶은 값들을 sendData로 넘겨주기만 하면 된다
특별히 개수 제한은 없다
값을 추가로 넣고싶다면 sendData에 인자를 추가해주고 쓰면 된다
이렇게 하면 receiveData에 JSP에서 출력하는 모든 데이터가 저장된다
[JSP]
<?xml version="1.0" encoding="utf-8"?>
<%@ page language="java" contentType="text/xml; charset=utf-8" pageEncoding="utf-8"%>
<% request.setCharacterEncoding("euc-kr");%>
<doc>
<%
String name = request.getParameter("name");
String password = request.getParameter("password");
out.println("<info>");
out.print("<name>");
out.print("name : " + name);
out.println("</name>");
out.print("<password>");
out.print("password : " + password);
out.println("</password>");
out.println("</info>");
String name = request.getParameter("name");
String password = request.getParameter("password");
out.println("<info>");
out.print("<name>");
out.print("name : " + name);
out.println("</name>");
out.print("<password>");
out.print("password : " + password);
out.println("</password>");
out.println("</info>");
%>
</doc>
</doc>
상당히 허접한 엘리먼트를 사용해서 JSP에서 XML 형태로 출력해준다
이렇게 하면 폰에서는 아래와 같은 내용을 받게 된다
<?xml version="1.0" encoding="utf-8"?>
<doc>
<info>
<name>name : "폰에서 보낸 내용"</name>
<password>password : "폰에서 보낸 내용"</password>
</info>
</doc>