Какая правильная конфигурация для подключения мидлета к сервлету

Я создал приложение мидлета, которое может импортировать данные из базы данных (реализованной с помощью Oracle на ПК) и вставлять данные в одну и ту же базу данных, поэтому приложение очень хорошо работает в эмуляторе (IDE Netbeans).

Устройство поддерживает MIDP 2.1 и jsr 172: http://www.mobilerated.com/nokia-5800-xpressmusic-specifications.html

Я хочу подключить это приложение к ПК с подключением Wi-Fi, но когда я пытаюсь реализовать это приложение в телефоне (КПК или смартфон, например, Nokia C6), кажется, что между мидлетом (в терминале Хендлера) нет соединения. и сервлет (в ПК), поэтому я не могу поймать ответ от ПК.

Это код, который я использовал в мидлете:

    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();
    }
  }

Я хочу знать, какая модификация, которую я должен сделать для этого приложения, работает хорошо?

Примечание: изменено после ответа члена сайта, та же проблема после изменения URL с @ip


@ip моего компьютера: 192.168.1.2
и @ip маршрутизатора: 192.168.1.1
К сожалению, я не знаю, как получить @ip моего мобильного телефона.

@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();
    }

}

1 ответ

Ваш URL указывает на localhost, который является локальным интерфейсом обратной связи. Если вы выполняете этот код на мобильном телефоне, он действительно не разрешит его. Поставьте IP вашего компьютера вместо localhost

Другие вопросы по тегам