servlet과 안드로이드간에 dopost로 주고 받을려고 합니다.
양쪽다 에러는 없는데,
소스코드 실행하면 에러창 뜨면서 앱이 바로 닫혀버리네요...
그리고 servlet 웹사이트 열면 항상 doget이 실행 되는데.
원래 이런건가요? 아니면 제가 잘못 한걸까요?
고수님들 부탁 드립니다.
소스코드 (post부분)
String result =null;
public void postData(String input) {
System.out.println("2");
HttpClient httpclient = new DefaultHttpClient();
System.out.println("5");
HttpPost httppost = new HttpPost("http://localhost:8888/test/Testservlet");
System.out.println("6");
try{
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("name",input));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"),8);
StringBuilder sb = new StringBuilder();
String line = null;
while((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
is.close();
result = sb.toString();
Toast.makeText(Menu.this, result,Toast.LENGTH_LONG).show();
} catch(IOException e) {
} finally {
httpclient.getConnectionManager().shutdown();
}
}
servlet 소스코드
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Testservlet
*/
public class Testservlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Testservlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html;charset=UTF-8");
System.out.println("doGet 요청됨");
//request로 넘어온 값 받기
String name = request.getParameter("name");
System.out.println("이름 = "+ name + "<br>");
PrintWriter out = response.getWriter();
out.print("response:" + name);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html;charset=UTF-8");
System.out.println("doPost 요청됨");
doGet(request,response);
}
}