마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 <- jsp -> mysql 연동문제입니다.. DB연동 잘 아시는분..?

0 추천
안녕하십니까 안드로이드 ~ DB연동 공부하고 있는 학생입니다.

제가 보고있는 책에 DB연동 부분내용이 없어 인터넷에 찾다찾다 얻은 결론이

안드로이드는 바로 DB에 접근할 수 없고 웹서버(php,jsp)등을 거쳐 DB로 접근해야 된다는걸 알게 됬는데

제가 jsp와 mysql을 다뤄보아서 데이터 넣고 빼고 하는건 할 수 있습니다.

그리고 현재 jsp에서 mysql데이터를 뽑아와 json 형식으로 바꾸는것 까지 해두었는데

앱에서 json을 어떻게 가져와야 할까요?

 

<%
 Connection conn = null;
 PreparedStatement pstmt = null;
 
 String jdbc_driver ="com.mysql.jdbc.Driver";
 String jdbc_url="jdbc:mysql://localhost/jspdb";
 
 try{
  Class.forName(jdbc_driver);
  conn = DriverManager.getConnection(jdbc_url,"아이디","비번");
  String sql ="select * from testtable";
  pstmt = conn.prepareStatement(sql);
  ResultSet rs = pstmt.executeQuery();
  int i=1;
  JSONArray arr = new JSONArray();
  while(rs.next()){
   //out.println(rs.getString(1)+"<BR>"+ rs.getString(2));
   String num1 = rs.getString(1);
   String num2 = rs.getString(2);
   JSONObject obj = new JSONObject();
   //out.print(num1);
   //out.print(num2);
   obj.put("num1", num1);
   obj.put("num2", num2);
   if(obj != null)
        arr.add(obj);
  }
  out.print(arr);
  rs.close();
  pstmt.close();
  conn.close();
 }catch(Exception e){
  
 }
%>

현재 jsp는 이렇게 짜니까 DB에서 데이터 가져와서 json으로 바꾸어 지더라고요..

저 jsp의 url주소를 이용해서 파싱하면 될까요? jsp에 추가로 해주어야 하는 작업은 없을까요?

하루종일 고민중이네요 ㅜㅜ php - mysql - 안드로이드 예제는 많은데 jsp는 잘 못찾겠네요 ㅜㅜ
안드로이드잼써용 (160 포인트) 님이 2017년 1월 11일 질문
지금 jsp파일에 따로 수정이 필요한지만 알고싶습니다.. 저렇게 해두고
http 이용해서 앱에서 jsp접근하면 되나요??

1개의 답변

0 추천

URL 호출한 결과가 json 형식으로 출력된다면,

앱에서 HTTP Client 라이브러리 사용해서 호출하여 결과를 받아서 파싱하든가 Object에 매핑하면 됩니다.

그리고, 최상위를 JSON Array로 하는 것보다는 JSON Object로 하는게 편할 겁니다. 아래처럼이요..

{"result": true, "data": [{"num1": 12, "num2": 24}, ...]}

isul (7,920 포인트) 님이 2017년 1월 12일 답변
말씀해주신대로 힌트얻어서 해결했습니다 ㅎㅎㅎ 감사합니다!
...