2014-09-15 3 views
0

내 학교 일정을 표시하기 위해 Android 앱을 만들려고합니다.Android에서 JSP 페이지 가져 오기 및 구문 분석

저는 처음에는 loopj로 잘하고 있습니다. 학교 계정에 연결하여 페이지를 볼 수 있습니다. 하지만 의제 부분은 JSP 페이지이며 "onFailure"메소드에 들어갑니다.

저는 loopj asynchttp 라이브러리를 사용하고 있습니다. 나는 단순히 JSP를 처리하지 않는다고 생각한다.

어떻게 가져올 수 있습니까? 일단 얻으면 목표는 JSOUP으로 구문 분석하고 내가 원하는 데이터 만 추출하는 것입니다.

은 여기 내 loopj는 니펫 : 내가 페이지에 도달하기 전에

// try to get the planning 
App_Web.client.get("the_url ...", null, new TextHttpResponseHandler() { 

    @Override 
    public void onFailure(int i, Header[] headers, String s, Throwable throwable) { 
     System.out.println("FAILED"); 
    } 

    @Override 
    public void onSuccess(int i, Header[] headers, String s) { 

     System.out.print("OK"); 

    } 
}); 

내가 연결해야합니다.

다른 라이브러리를 사용하거나 세션을 처리 할 수있는 라이브러리를 사용하려면 loopj 세션을 사용해야합니다.

당신이 이해할 수없는 것을 말하면 제게 더 잘 이해하는 데 도움이 될 수 있습니다.

건배,

막심

+0

도움이 될 것입니다.) – Maxime

답변

1

JSP는 자바 서버 페이지의 약자입니다. 그것은 동적 인 웹 페이지를 정정하기위한 Java 기술입니다. jsp를 사용하여 작성된 페이지를 구문 분석하려고한다는 사실은 서버에만 관련되어 있으므로 걱정할 필요가 없습니다. jsoup 나 loopj처럼 웹 브라우저 나 htmml 파서가 될 클라이언트는 순수한 html을 받고 있습니다. 모든 JSP가 컴파일되어 실행되고 결국 원하는 html이 생성되었으므로 java/jsp 코드가 필요하지 않습니다.

이제 앱을 다시 살펴 보았습니다. 수신 한 Throwable 인수의 스택 추적을 인쇄하여 onFailure이 호출되는 이유를 확인할 수 있습니다. Check the docs. 보다시피, Throwable 클래스의 경우 printStackTrace()으로 전화하여 문제의 원인이되는 녹음 된 단계를 읽을 수 있습니다. stacktrace를 본 적이 없지만 많은 도움이 될 수는 없지만 timeout 문제이거나 header 문제 일 가능성이 큽니다. 스택을 확인하면 더 도움이 될 것입니다.

+0

답장을 보내 주셔서 감사합니다. jsp가 서버에서만 관련이 있다는 것을 알았지 만이 복잡한 페이지와 관련하여 고심하고있었습니다. 사실, 문서가 준비되면 대부분의 데이터가 Ajax에로드되었습니다. (전체 페이지를 작성하는 10 개 이상의 아약스 요청, 그냥 끔찍한). 그래서 내가 할 수있는 가장 좋은 일은 페이지를 얻기 위해 phantomJS & casperJS (강력한 btw!)를 사용하고 페이지가 모든 데이터를 가져올 때까지 기다린 다음 스크랩하고 내 앱이 나중에 호출하는 서버에서 json 파일을 보내는 것입니다. 다시 한번 감사드립니다 :)! – Maxime

+0

문제 없습니다. 나는 당신이 당신의 일을 성취 할 수있는 길을 찾은 것을 기쁘게 생각합니다. 솔루션을 답으로 게시하고 동의하십시오. – alkis