2012-07-12 2 views
0

저는 기존의 작동하는 java 웹 애플리케이션이 있습니다. 나는이 응용 프로그램을 안드로이드에서 기본으로 만들고 동일한 서블릿을 계속 사용하고자합니다.안드로이드는 기존 웹 애플리케이션의 자바 서블릿을 사용합니다.

나는 서버가 서블릿이 같은 것을 배치했다와 통신 안드로이드 응용 프로그램을하고 있던 마지막 :

String response = null; 
    try { 
     response = CustomHttpClient.executeHttpPost(
     "http://10.0.2.2/ProjectName/" + "LoginServlet",postParameters); 
     String res = response.toString(); 
        if(res.equals("pass") 
        { 
         /**do the things i want**/ 
        } 
       } 
       catch(Exception e) 
       { 
        e.printStackTrace(); 
       } 
: 나는 이런 짓을 했을까

PrintWriter out = response.getWriter(); 
out.print("pass"); 

와 안드로이드 자바 클래스를 내 웹 응용 프로그램에

서블릿은 HttpSession을 사용하며,이 같은 발송 방법이 있습니다

HttpSession session = request.getSession(); 
session.setAttribute("user",user); 

이것은 :

dispatch(request, response, "/login.jsp"); 

나는 내 웹 응용 프로그램이 실패 사용하는 기존의 서블릿에 PrintWriter를 추가했다. 그리고이 오류가 로그 캣에서 생산되었다

07-12 08:59:46.344: E/jdwp(487): >>> comparing 'jsp' to 'ers' 
07-12 08:59:46.454: E/jdwp(487): >>> comparing 'jsp' to 'nfo' 
07-12 08:59:46.524: E/jdwp(487): >>> comparing 'jsp' to 'o$1' 
07-12 08:59:46.534: E/jdwp(487): >>> comparing 'jsp' to 'nfo' 
07-12 08:59:46.534: E/jdwp(487): >>> comparing 'jsp' to 'o$1' 
07-12 08:59:46.594: E/jdwp(487): >>> comparing 'jsp' to 'Key' 
07-12 08:59:46.934: E/jdwp(487): >>> comparing 'jsp' to 'ver' 
07-12 08:59:47.044: E/jdwp(487): >>> comparing 'jsp' to 'ile' 
07-12 08:59:47.334: E/jdwp(487): >>> comparing 'jsp' to 'gin' 
07-12 08:59:47.334: E/jdwp(487): >>> comparing 'jsp' to 'nfo' 
07-12 08:59:47.354: E/jdwp(487): >>> comparing 'jsp' to 'ame' 
07-12 08:59:47.404: E/jdwp(487): >>> comparing 'jsp' to 'ger' 
07-12 08:59:47.404: E/jdwp(487): >>> comparing 'jsp' to 'eme' 
07-12 08:59:47.504: E/jdwp(487): >>> comparing 'jsp' to 'ams' 

와 비교 목록에 이동합니다.

질문 : 내가 누락되었거나 새로운 서블릿을 만들어야합니까? ,

편집

나는 오류가 대신 텍스트 문자열의 JSP 파일에 대한 응답을 변경 디스패치 방법에 의해 제조되는 것을 발견했습니다 (난 정말이 아니 두 번째 옵션 희망) 디스패치 방법을 주석 처리하면 안드로이드를 사용하여 서버에 성공적으로 로그인 할 수 있습니다.

그러나 Dispatcher 메서드와 PrintWriter를 유지하여 안드로이드 응용 프로그램과 웹 응용 프로그램이 동일한 단일 서블릿을 사용하여 로그인 할 수 있도록하고 싶습니다. 어쨌든 내가 할 수 있니?

답변

0

일부 연구를 마친 후이 질문에 대한 대답은 아니오로 보입니다. 웹 응용 프로그램과 안드로이드 응용 프로그램에 동일한 서블릿을 사용할 방법이 없습니다. 2 개의 서블릿이 내용이 95 % 동일하더라도 상관없이 새로운 서블릿을 생성해야합니다.

1) 상기 한 바와 같이 out.print 방법을 사용하여 :

내가 현재 안드로이드로 로그인 할 수있는 알고있는 몇 가지 방법이 있습니다. PrintWriter 객체를 생성하고 객체를 사용하여 out.print를 수행 한 다음 android java 클래스의 response.toString(). equals ("expectedString")을 통해 객체를 확인하십시오.

2) 쿠키는 작동 할 수 있다고 생각했지만 아니요, 파견 방법은 여전히 ​​방해가되었습니다. 나는 쿠키에 관해서는 아직 매우 모호하지만 분명히 쿠키에 사용자 정보를 보관할 수 있으므로 사용자는 응용 프로그램을 사용하는 동안 인증을 받게됩니다.

위의 내용 중 하나라도 틀렸 으면 언제든지 답변을 추가하거나 수정하십시오.

관련 문제