jsp에서 서버에 있는 DB를 검사한후, name 이 있으면 failed.xml 이라는 화면을 출력해서 그 xml 파일을 파싱해서 파싱한 값을 가져오는 것을 구현하고 있습니다. 소스는 아래와 같구요.

뭐가 잘못되었는지... 파싱해서 if 문 비교하는데서 안넘어갑니다.ㅠ

failed.xml, success.xml 은  아래처럼 그냥 단순합니다. 그래서 result 를 태그로 해서 가운데 success 만 파싱하려고 합니다.


도와주세요~~


<?xml version="1.0" encoding="UTF-8"?>
<result>success</result>


jsp 소스

 <%@ page language="java"%>
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<%
  request.setCharacterEncoding("utf-8");
  String nickname = request.getParameter("name");
  ResultSet rs = null;
  int i=0;

  try{
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        Connection con = DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/test", "root", "1234");
        String value = "";
        
        Statement stmt = con.createStatement();
    
    rs = stmt.executeQuery("select * from admin");
    
    while(rs.next()){
        if(nickname.equals(rs.getString("name"))){
            i=1;
        }
        
    }
    if(i==1){
        response.sendRedirect("failed.xml");
    }else{
        response.sendRedirect("success.xml");
    }
    }catch(Exception e){    
    }
%>


안드로이드 소스

 public String parsingData(InputStream input){ //파싱을 합니다.
        String result=null;
        try{
            XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
            XmlPullParser parser = factory.newPullParser();
            parser.setInput(new InputStreamReader(input));
            
            while(parser.next()!=XmlPullParser.END_DOCUMENT){
                String name = parser.getName();
                if(name != null && name.equals("result"))
                    result = parser.nextText();
            }
            
        }catch(Exception e){e.printStackTrace();}
        
        return result;
    }

    ResponseHandler<String> mResHandler = new ResponseHandler<String>(){
        public String handleResponse(HttpResponse response){
            String result = null;
            try{
                HttpEntity entity=response.getEntity();
                result = parsingData(entity.getContent()); //여기서 사이트서 처리한걸 파싱해줍니다. 근데 result를 한번 찍어봤는데 아무것도 파싱안하는것 같습니다..ㅠ
                
                Message message = mAfterDown.obtainMessage();
                Bundle bundle = new Bundle();
                if(result.equals("failed")){ //이부분에서 안넘어가는것 같습니다. 
                    bundle.putString("result", "Faliled");
                }else{
                    bundle.putString("result", "Success");
                }
                
                message.setData(bundle);
                mAfterDown.sendMessage(message);
            }catch(Exception e){;}
            return result;
        }
    };

    Handler mAfterDown = new Handler(){ //화면에 표시
        public void handleMessage(Message msg){
            pDialog.dismiss();
            String sresult = msg.getData().getString("result");
            TextView result = (TextView)findViewById(R.id.checkresult);
            result.setText(sresult);
        }
    };