2012-05-07 2 views
2

데이터베이스 (PC의 oracle로 구현 됨)에서 데이터를 가져와 동일한 데이터베이스에 데이터를 삽입 할 수있는 MIDlet 응용 프로그램을 만들었으므로 응용 프로그램이 에뮬레이터 (Netbeans IDE).midlet을 서블릿에 연결하는 올바른 구성은 무엇입니까

장치는 MIDP 2.1 및 JSR 172을 지원하고있다 : http://www.mobilerated.com/nokia-5800-xpressmusic-specifications.html

내가 와이파이 연결 파크 PC와이 응용 프로그램을 연결하는 원하지만, 나는이 전화에서 응용 프로그램 (PDA 또는 스마트 폰 노키아 C6처럼 구현하려고 할 때), 그 midlet (hendler 터미널)과 서블릿 (PC에서) 사이에 아무런 연관이없는 것 같아요 그래서 나는 PC에서 응답을 잡을 수 없어.

private void doInsertDataEtat() throws IOException 
    { 
    HttpConnection http = null; 
    InputStream iStrm = null; 


    url ="http://192.168.1.2:8080/TESTWEB/InsertDataEtat" +"?"+"loconum="+List_Num.getString(List_Num.getSelectedIndex()).substring(0, 4) +"&"+"datedevisite="+nbrdate+"&"+"heuredebut="+dateFieldAc.getDate().toString().substring(11,16)+"&"+"etat="+Etatfinal.getString(Etatfinal.getSelectedIndex()).replace(' ', '+') +"&"+"observationetat="+observationEtat.getString().replace(' ', '+') +"&"+"dureevisite="+dureevisite; 

    try 
    { 
     // Create the connection 
     http = (HttpConnection)Connector.open(url); 
     System.out.println("url: " + url);   

     // 2) Get header information 
     if (http.getResponseCode() == HttpConnection.HTTP_OK) 
     { 

     // afficher les données recus de la servlet par la methode get 

      System.out.println("INSERTION REUSSITE"); 


     } 
     }catch(Exception e){ 
      e.printStackTrace(); 
      Alert alert = new Alert("Erreur de Connexion", "Désolé , il y a une erreur au nivau de la connextion au serveur \n"+e.getMessage(), null, AlertType.ERROR); 
      alert.setTimeout(Alert.FOREVER); 
      display.setCurrent(alert); 
     } 
    finally{ 
     // detruire les variable apres l'utilisation 
     if (iStrm != null) 
     iStrm.close(); 
     if (http != null) 
     http.close(); 
    } 
    } 

내가 아니라 해당 응용 프로그램 작업을 위해 할 수있는 내가해야 할 일 수정을 알고 싶어

이것은 내가 미들 릿에서 사용되는 코드는?

참고 : 사이트의 회원은 @ip 내 PC의


@ip로 URL을 변경 한 후 같은 문제의 답 이후에 수정은 다음과 같습니다 192.168.1.2
와의 @ip 라우터 : 192.168.1.1
불행히도 나는 내 핸드폰을 어떻게 가져갈 지 모르겠다.

@WebServlet(name = "InsertDataEtat", urlPatterns = {"/InsertDataEtat"}) 
public class InsertDataEtat extends HttpServlet { 

    public String loconum,observationEtat,datevisite,heuredebut,etat,dureevisite; 
    public void doGet(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
     response.setContentType("text/plain"); 
     PrintWriter out = response.getWriter(); 
     try 
     { 

       //parametre passer du midlet a la servlet par la methode GET 
        loconum = request.getParameter("loconum"); 
        etat = request.getParameter("etat").replace('+', ' '); 
        datevisite = request.getParameter("datedevisite"); 
        heuredebut = request.getParameter("heuredebut"); 
        observationEtat = request.getParameter("observationetat").replace('+', ' '); 
        observationEtat = observationEtat.replace("'", "''"); 
        dureevisite=request.getParameter("dureevisite"); 


            String sql="INSERT INTO ETAT VALUES('"+loconum+"','" 
         +datevisite+"','"+observationEtat+"','"+etat+"','"+heuredebut+"','"+dureevisite+"')"; 
        System.out.println(sql); 
       //---------------------------------------------------------- 
       Class.forName("oracle.jdbc.driver.OracleDriver"); 
       Connection con=DriverManager.getConnection 
       ("jdbc:oracle:thin:@th-d3a2629a531d:1521:XE","ONCFDB","ONCFDB"); 
       Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); 



       stmt.executeUpdate(sql); 
       System.out.println("c'est fait avec succés");  


      } 
     catch(Exception e) 
     { 
      System.out.println("ça marche pas "); 
     } 

     out.close(); 
    } 

} 
+0

전화 지원 [JSR 172] (http://stackoverflow.com/questions/tagged/jsr172) J2ME 웹 서비스 API가 있습니까? – gnat

+0

실제로 내 셀폰 지원 jsr 여부를 모르겠지만, 내가 아는 것은 MIDP 2.1 (노키아 익스프레스 뮤직 5800의 셀폰 구성에 따라)을 지원하는 것입니다. 그러나 어떻게이 정보를 알 수 있습니까? –

+0

이 정보는에서 찾을 수 있습니다. 이 웹 사이트에서 내 휴대폰은 jsr을 지원합니다 172 http://www.mobilerated.com/nokia-5800-xpressmusic-specifications.html –

답변

0

URL은 로컬 루프백 인터페이스 인 localhost를 가리 킵니다. 휴대 전화에서이 코드를 실행하는 경우 실제로 코드가 해결되지 않습니다. "localhost"대신에 PC의 IP 주소를 입력하십시오.

+0

무선 네트워크를 생성하여이 구성을 만들었으며 slephoen과 reouter 사이의 연결을 확인했습니다. , PC와 라우터 사이의 연결에 대해서도 마찬가지입니다. 동일한 문제가 아직 나타나지 않았습니다. 서버에서 응답이 없습니다. –

+0

오류의 스택 추적을 추가 할 수 있습니까? –

+0

에뮬레이터에서 오류가 발생하지 않지만, 핸드폰에서 미드 레트를 구현하고 요청을 보내면 더 많은 시간 (60 초 초과) 후에 오류 -33이 발생합니다. –

관련 문제