Servlets 将midlet连接到servlet的正确配置是什么

Servlets 将midlet连接到servlet的正确配置是什么,servlets,java-me,midp,midlet,jsr172,Servlets,Java Me,Midp,Midlet,Jsr172,我创建了一个midlet应用程序,它可以从数据库(在PC中使用oracle实现)导入数据,并将数据插入同一数据库,因此该应用程序在emulator(Netbeans IDE)中运行良好 设备支持MIDP 2.1和jsr 172: 我想要的是将此应用程序与带有wifi连接的PC连接,但当我尝试在手机(PDA或类似诺基亚C6的智能手机)中实现此应用程序时,似乎midlet(在hendler终端中)和servlet(在PC中)之间没有连接,因此我无法捕获PC的任何响应 这是我在midlet中使用的代码

我创建了一个midlet应用程序,它可以从数据库(在PC中使用oracle实现)导入数据,并将数据插入同一数据库,因此该应用程序在emulator(Netbeans IDE)中运行良好

设备支持MIDP 2.1和jsr 172:

我想要的是将此应用程序与带有wifi连接的PC连接,但当我尝试在手机(PDA或类似诺基亚C6的智能手机)中实现此应用程序时,似乎midlet(在hendler终端中)和servlet(在PC中)之间没有连接,因此我无法捕获PC的任何响应

这是我在midlet中使用的代码:

    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的网址



@我的电脑的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();
    }

}

您的URL指向localhost,它是本地环回接口。如果您在手机上执行此代码,它实际上无法解决此问题。将pc的IP而不是“localhost”

您的URL指向localhost,这是本地环回接口。如果您在手机上执行此代码,它实际上无法解决此问题。将您电脑的IP而不是“本地主机”

我通过创建无线网络进行了此配置,并建立了slephoen和reouter之间的连接,pc和路由器之间的连接也是如此……同样的问题仍然存在,服务器没有响应我在emulator中没有收到任何错误,但是,当我在selphone中实现midlet并发送请求时,经过一段时间(超过60秒)后,我得到了错误-33。您的手机和PC的IP是多少?代码没有问题,只是URL不正确。在模拟器上执行时,它的ip与计算机相同。你也可以发布服务器代码吗?@ip我的电脑是:192.168.1.2我认为代码一切正常,你唯一需要确保的是你的手机可以解析URL
192.168.1.2
。您能从手机向PC发出ping吗?你能从同一wifi lan中的另一台电脑上查询该URL吗?我通过创建一个无线网络进行了此配置,并建立了slephoen和reouter之间的连接,PC和路由器之间的连接也是如此……同样的问题仍然存在,服务器没有响应我在emulator中没有收到任何错误,但是,当我在selphone中实现midlet并发送请求时,经过一段时间(超过60秒)后,我得到了错误-33。您的手机和PC的IP是多少?代码没有问题,只是URL不正确。在模拟器上执行时,它的ip与计算机相同。你也可以发布服务器代码吗?@ip我的电脑是:192.168.1.2我认为代码一切正常,你唯一需要确保的是你的手机可以解析URL
192.168.1.2
。您能从手机向PC发出ping吗?您可以从同一wifi lan中的另一台PC查询该URL吗?您的手机是否支持J2ME Web Services API?实际上,我不知道我的selphone是否支持jsr,我知道的是它支持MIDP 2.1(根据诺基亚expressmusic 5800的selphone配置),但是我怎么知道这些信息呢?我在这个网站上找到了这些信息,我的selphone支持jsr 172您的手机支持J2ME Web Services API吗?实际上我不知道我的selphone是否支持jsr,我知道的是它支持MIDP 2.1(根据诺基亚expressmusic 5800的selphone配置),但是我怎么知道这些信息呢?我在这个网站上找到了这些信息,我的手机支持JSR172