为什么无法使用XAMPP

时间:2018-09-05 04:10:07

标签: java mysql xmpp

我想使用XAMPP在本地网络(三台计算机之间)中将MySQL与Java连接起来。但是我无法使用Java做到这一点,并尝试将数据库与PHP应用程序连接,然后再连接。我认为这不是XAMPP错误。它可能在Java应用程序中。请帮我。

Connection getcon() throws Exception {

    Class.forName("com.mysql.jdbc.Driver");
    String URL = "jdbc:mysql://192.168.8.101/checker";
    String username = "root";
    String password = "";
    //Connection
    con = DriverManager.getConnection(URL, username, password);
    return con;
}

此处有更多详细信息:

例外:

run:

com.mysql.jdbc.CommunicationsException:由于基础异常导致通信链接失败:

**开始嵌套例外**

java.net.SocketException 消息:java.net.ConnectException:连接超时:connect

堆栈跟踪:

java.net.SocketException:java.net.ConnectException:连接超时:connect     在com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)     在com.mysql.jdbc.MysqlIO。(MysqlIO.java:276)     在com.mysql.jdbc.Connection.createNewIO(Connection.java:2666)     在com.mysql.jdbc.Connection处(Connection.java:1531)     在com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)     在java.sql.DriverManager.getConnection(DriverManager.java:661)     在java.sql.DriverManager.getConnection(DriverManager.java:247)     在connectionchecker.JDBC.getcon(JDBC.java:45)     在connectionchecker.JDBC.getdata(JDBC.java:68)     在connectionchecker.Check.incremntno(Check.java:28)     在connectionchecker.Check.jButton1ActionPerformed(Check.java:84)     在connectionchecker.Check.access $ 000(Check.java:15)     在connectionchecker.Check $ 1.actionPerformed(Check.java:50)     在javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)     在javax.swing.AbstractButton $ Handler.actionPerformed(AbstractButton.java:2346)     在javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)     在javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)     在javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)     在java.awt.Component.processMouseEvent(Component.java:6522)     在javax.swing.JComponent.processMouseEvent(JComponent.java:3322)     在java.awt.Component.processEvent(Component.java:6287)     在java.awt.Container.processEvent(Container.java:2229)     在java.awt.Component.dispatchEventImpl(Component.java:4878)     在java.awt.Container.dispatchEventImpl(Container.java:2287)     在java.awt.Component.dispatchEvent(Component.java:4700)     在java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4872)     在java.awt.LightweightDispatcher.processMouseEvent(Container.java:4528)     在java.awt.LightweightDispatcher.dispatchEvent(Container.java:4457)     在java.awt.Container.dispatchEventImpl(Container.java:2273)     在java.awt.Window.dispatchEventImpl(Window.java:2724)     在java.awt.Component.dispatchEvent(Component.java:4700)     在java.awt.EventQueue.dispatchEventImpl(EventQueue.java:743)     在java.awt.EventQueue.access $ 400(EventQueue.java:97)     在java.awt.EventQueue $ 3.run(EventQueue.java:694)     在java.awt.EventQueue $ 3.run(EventQueue.java:691)     在java.security.AccessController.doPrivileged(本机方法)     在java.security.ProtectionDomain $ 1.doIntersectionPrivilege(ProtectionDomain.java:75)     在java.security.ProtectionDomain $ 1.doIntersectionPrivilege(ProtectionDomain.java:86)     在java.awt.EventQueue $ 4.run(EventQueue.java:716)     在java.awt.EventQueue $ 4.run(EventQueue.java:714)     在java.security.AccessController.doPrivileged(本机方法)     在java.security.ProtectionDomain $ 1.doIntersectionPrivilege(ProtectionDomain.java:75)     在java.awt.EventQueue.dispatchEvent(EventQueue.java:713)     在java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:220)     在java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:135)     在java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:123)     在java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:119)     在java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:111)     在java.awt.EventDispatchThread.run(EventDispatchThread.java:97)

**结束嵌套例外**

发送到服务器的最后一个数据包是在43毫秒前。 我的味精没问题 java.lang.NullPointerException

JDBC类

公共类JDBC {

private static JDBC j;
Connection con = null;

private JDBC() {

}

public static JDBC getJDBC() {
    if(j == null){
        j= new JDBC();
    }
    return j;
}

  Connection getcon() throws Exception {

      try {
           Class.forName("com.mysql.jdbc.Driver");
    //String URL = "jdbc:mysql://127.0.0.1/checker";
    String URL = "jdbc:mysql://192.168.8.101:80/checker";
    String username = "root";
    String password = "";
    //Connection
    con = DriverManager.getConnection(URL, username, password);

      } catch (ClassNotFoundException | SQLException e) {
          System.out.println(e);
      }

  return con;
}

void setdata(String sql) {
    try {
         if (con == null) {
            getcon();
        }
        con.createStatement().executeUpdate(sql);

    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }
}

ResultSet getdata(String sql) throws Exception {
    if (con == null) {
        getcon();
        System.out.println("my msg is conn ok");
    }else{
        System.out.println("my msg is conn not ok");
    }
    ResultSet rset = con.createStatement().executeQuery(sql);
    return rset;
}

}

2 个答案:

答案 0 :(得分:0)

您需要在IP地址之后传递XAMPP的端口号。

XAMPP的默认端口号是80。

String URL = "jdbc:mysql://192.168.8.101:80/checker";

或者在下面试试这个

String URL = "jdbc:mysql://192.168.8.101:8080/checker";

答案 1 :(得分:0)

问题就在这里

System.out.println(data.toString()); //Datos que llegan

注意,这应该代表您的数据库服务器和运行数据库的端口。上面的网址是错误的,因为端口String URL = "jdbc:mysql://192.168.8.101:80/checker"; 是Apache服务器的默认端口号。但是,您需要使用mysql端口,即3306(默认)。

相反,您应该尝试

80

我假设String URL = "jdbc:mysql://192.168.8.101:3306/checker"; 是数据库名称。