jsp와 tomcat을 이용하여 서버를 구축하고

웹서버에는 로그인 기능을 구현해놓았는데

이 기능을 안드로이드에서 사용하고 싶습니다.

 

먼저 jsp로 웹서버에 있는 DB를 json으로 변환하는 것은 성공했는데

안드로이드에서 이 json으로 표현된 웹페이지를 읽어서 json파서를 하려고 합니다.

소스에는 에러가 없는데 logcat을 보면 http읽기가 되질 않는거 같습니다.

 

  public void getData() {
  String Json = DownloadHtml("http://localhost:8080/servlet/sample.jsp");
  parsingJson_IPDATA(Json);
  
  }
 
 //sample.jsp에 가서 json을 문자열로 받아오기.
    static String DownloadHtml(String addr){
        StringBuilder jsonHtml = new StringBuilder();
        try{
            URL url =new URL("addr);
            
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            
            if(conn!=null)
            {
                conn.setConnectTimeout(10000);
                conn.setUseCaches(false);
                
                if(conn.getResponseCode()==HttpURLConnection.HTTP_OK){
                    //Read Data From Web
                    BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
                    for(;;){
                        
                        String line =br.readLine();
                        if(line==null)break;
                        
                        jsonHtml.append(line + "\n");
                    }
                        br.close();
                }
                    conn.disconnect();
            }
        }catch(Exception ex){
                  Log.e("jsonerr", "Error parsing json ");
        }
            return jsonHtml.toString();
    }
    
    
    //받아온 json문자열에서 id와 pw를 뽑아내 배열에 저장하기.
    public static void parsingJson_IPDATA(String Json_read){
        try{
            JSONArray jArray = new JSONArray(Json_read);
            for(int i=0;i<jArray.length();i++){
                JSONObject json_data = jArray.getJSONObject(i);
                //
                ID[i]=json_data.getString("id");
                PW[i]=json_data.getString("pw");
            }
        }catch(JSONException e){
            Log.e("log_tag", "Error parsing data "+e.toString());
            
        }
    }

logcat을 확인하면 jsonerr와 log_tag 둘다 뜹니다.

소스는 "안드로이드 프로그래밍 정복"에 있는 것과 거의 똑같습니다.

DownloadHtml 함수와 parsingJson_IPDATA 함수의 문제점이 무엇일까요 ㅜㅜ

제가 보기엔 일단 DownloadHtml 함수가 제대로 동작하지 않기때문에 뒤에있는 함수도 안되는 것 같아요.

 

 

혹시 DB를 json으로 변환했을 때 형식이 잘못된 것인지

sample.jsp로 가면 아이디와 패스워드가

["abcd","90","gogo","0000","jang","soso"]  이런 형식으로 저장되어 있습니다.

 

질문이 너무 길었네요 ㅜㅜ 파서 성공하신 분들 조언 부탁드립니다.