티스토리 뷰

728x90

[Android]
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에서 출력하는 모든 데이터가 저장된다 
간단하게 받을꺼면 굳이 Parser를 쓰지 않고 String 클래스의 메소드들을 이용해서 살짝 가공시켜 쓰면 된다



[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>");
%>
</doc> 


상당히 허접한 엘리먼트를 사용해서 JSP에서 XML 형태로 출력해준다


이렇게 하면 폰에서는 아래와 같은 내용을 받게 된다

<?xml version="1.0" encoding="utf-8"?>

<doc>
<info>
<name>name : "폰에서 보낸 내용"</name>
<password>password : "폰에서 보낸 내용"</password>
</info>
</doc>