如何从服务器在客户端计算机中执行java应用程序?

如何从服务器在客户端计算机中执行java应用程序?,java,Java,我正在尝试从服务器在客户端计算机中执行java应用程序。但是应用程序,当我尝试打开它时,不是Execute。 这里是我的课堂对话: package Conexion; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql

我正在尝试从服务器在客户端计算机中执行java应用程序。但是应用程序,当我尝试打开它时,不是Execute。 这里是我的课堂对话:

package Conexion;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
public class Conexion {   
    private static final String database = "recursos_humanos";
    private static final String login = "root";
    private static final String password = "1234";
    private static final String url = "jdbc:mysql://localhost:3306/"+database;

    public static Connection connection;
    public static Statement stm;
    public static ResultSet rs;
    public static PreparedStatement ps;

    public static Connection getConnection(){
        try {
            Class.forName("com.mysql.jdbc.Driver");
            connection = DriverManager.getConnection(url,login,password);                      
            if(connection != null)
                System.out.println("Base de Datos " +database +" lista.");
        } catch (ClassNotFoundException  ex) {
            System.out.println(ex);
            JOptionPane.showMessageDialog(null, "No se pudo coenctar: "+ex);
        }catch(SQLException ex){System.out.println(ex);}
        return connection;
    }
}
请帮帮我,谢谢

编辑 我做了更改,我删除了“String url=“jdbc:mysql://localhost:3306/“+数据库;”

并输入服务器的ip地址;“String url=“jdbc:mysql://10.6.12.247:3306/“+数据库”,但结果如下:

com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION ** 

java.net.ConnectException
MESSAGE: Connection timed out: connect

STACKTRACE:

java.net.ConnectException: Connection timed out: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at Ventanas.VentanaPrincipal.listar(VentanaPrincipal.java:387)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at Ventanas.VentanaPrincipal.<init>(VentanaPrincipal.java:76)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at Ventanas.VentanaPrincipal$11.run(VentanaPrincipal.java:356)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
    at java.net.Socket.connect(Socket.java:538)
    at java.awt.EventQueue.access$400(EventQueue.java:97)
    at java.net.Socket.<init>(Socket.java:434)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.net.Socket.<init>(Socket.java:244)
    at java.awt.EventQueue$3.run(EventQueue.java:691)
    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:271)
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2771)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
    at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at Conexion.Conexion.getConnection(Conexion.java:34)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at Ventanas.VentanaPrincipal.listar(VentanaPrincipal.java:385)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
    at Ventanas.VentanaPrincipal.<init>(VentanaPrincipal.java:76)
    at Ventanas.VentanaPrincipal$11.run(VentanaPrincipal.java:356)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
    at java.awt.EventQueue.access$400(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.awt.EventQueue$3.run(EventQueue.java:691)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)


** END NESTED EXCEPTION **



Last packet sent to the server was 1 ms ago.
com.mysql.jdbc.CommunicationsException:由于底层异常导致的通信链路故障:
**开始嵌套异常**
java.net.ConnectException
消息:连接超时:连接
堆栈跟踪:
java.net.ConnectException:连接超时:连接
位于java.net.DualStackPlainSocketImpl.connect0(本机方法)
位于java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
位于java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)
线程“AWT-EventQueue-0”java.lang.NullPointerException中出现异常
位于Ventanas.VentanaPrincipal.listar(VentanaPrincipal.java:387)
位于java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
在Ventanas.VentanaPrincipal(VentanaPrincipal.java:76)
位于java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
在Ventanas.VentanaPrincipal$11.run(VentanaPrincipal.java:356)
位于java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
在java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)中
位于java.net.socksocketimpl.connect(socksocketimpl.java:392)
位于java.net.Socket.connect(Socket.java:589)
位于java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
位于java.net.Socket.connect(Socket.java:538)
在java.awt.EventQueue.access$400(EventQueue.java:97)
位于java.net.Socket。(Socket.java:434)
位于java.awt.EventQueue$3.run(EventQueue.java:697)
位于java.net.Socket(Socket.java:244)
位于java.awt.EventQueue$3.run(EventQueue.java:691)
位于com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
位于java.security.AccessController.doPrivileged(本机方法)
在com.mysql.jdbc.MysqlIO上(MysqlIO.java:271)
在com.mysql.jdbc.Connection.createNewIO上(Connection.java:2771)
位于java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
位于java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
位于com.mysql.jdbc.Connection(Connection.java:1555)
位于java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
位于com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
在java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)中
位于java.sql.DriverManager.getConnection(DriverManager.java:664)
位于java.awt.EventDispatchThread.PumpeEventsforHierarchy(EventDispatchThread.java:105)
位于java.sql.DriverManager.getConnection(DriverManager.java:247)
位于Conexion.Conexion.getConnection(Conexion.java:34)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
位于Ventanas.VentanaPrincipal.listar(VentanaPrincipal.java:385)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
在java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
在Ventanas.VentanaPrincipal(VentanaPrincipal.java:76)
在Ventanas.VentanaPrincipal$11.run(VentanaPrincipal.java:356)
在java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)中
位于java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
在java.awt.EventQueue.access$400(EventQueue.java:97)
位于java.awt.EventQueue$3.run(EventQueue.java:697)
位于java.awt.EventQueue$3.run(EventQueue.java:691)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
位于java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
位于java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
在java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)中
位于java.awt.EventDispatchThread.PumpeEventsforHierarchy(EventDispatchThread.java:105)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
在java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
**结束嵌套异常**
发送到服务器的最后一个数据包是1毫秒前。

请告诉我。谢谢

只要用您的服务器名更改本地主机,它就会工作。
但请确保您的数据库必须驻留在该服务器上。

只要用您的服务器名称更改该本地主机,它就会工作。
但请确保您的数据库必须驻留在该服务器上。

您的应用程序正在尝试建立与localhost的jdbc连接,但我确信该连接没有运行mysql

只需按如下方式更改代码:

url=“jdbc:mysql://IPofYourServer:3306/“+数据库


● 将localhost替换为代码中服务器的ip地址。

您的应用程序正在尝试建立与localhost的jdbc连接,但我确信没有运行mysql

只需按如下方式更改代码:

url=“jdbc:mysql://IPofYourServer:3306/“+数据库

● 在代码中将localhost替换为服务器的ip地址。

错误在此处

private static final String url = "jdbc:mysql://localhost:3306/"+database;
Localhost是运行应用程序的计算机,在本例中是客户端计算机。 为了实际连接到服务器,服务器的IP必须代替“localhost”。 正确的实施方式如下所示:

String ServerAddress = "192.168.1.4";
private static final String url = "jdbc:mysql://" + ServerAddress + ":3306/"+database;
您的错误就在这里

private static final String url = "jdbc:mysql://localhost:3306/"+database;
Localhost是运行应用程序的计算机,在本例中是客户端计算机。 为了实际连接到服务器,服务器的IP必须替换为“localh”