Java RMI客户端遇到ClassCastException
我无法将RMI客户端连接到服务器。所以我有这些类/接口:Java RMI客户端遇到ClassCastException,java,rmi,classcastexception,Java,Rmi,Classcastexception,我无法将RMI客户端连接到服务器。所以我有这些类/接口: package application; import java.sql.ResultSet; public interface InterfaceRMI { public void insererEtudiant(String requete); public void supprimerEtudiant(String requete); public Res
package application;
import java.sql.ResultSet;
public interface InterfaceRMI {
public void insererEtudiant(String requete);
public void supprimerEtudiant(String requete);
public ResultSet selectionnerEtudiant(String requete);
}
服务器类:
package application;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class ServeurMySQL extends UnicastRemoteObject implements InterfaceRMI {
public int port;
public ServeurMySQL(int port) throws RemoteException {
this.port = port;
}
@Override
public void insererEtudiant(String requete) {
// Implementation for insertion
}
@Override
public void supprimerEtudiant(String requete) {
// Implementation for delete
}
@Override
public ResultSet selectionnerEtudiant(String requete) {
// Implementation for selection
}
}
连接测试等级:
package application;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
public class test {
public static void main(String[] args) {
try {
Registry r = LocateRegistry.getRegistry(1098);
InterfaceRMI serveur = (InterfaceRMI) (r.lookup("serveurMySQL"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
当我替换行interfaceermi serveur=(interfaceermi)(r.lookup(“serveurMySQL”)代码>通过r.lookup(“serveurMySQL”)代码>我没有得到异常,我知道连接工作正常,问题只是演员阵容。但我不知道如何解决它
例外情况如下:
java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to application.InterfaceRMI
at application.test.main(test.java:13)
注意:RMI服务器启动时没有任何问题。首先:
public interface InterfaceRMI
一定是
public interface InterfaceRMI extends Remote
第二:
您的接口中的每个方法都必须声明抛出RemoteException
向我们显示异常您没有显示rmi服务器的代码提示:尝试阅读一些有关此的教程。不要试图仅仅通过查看javadoc或了解这些东西的工作原理来学习您的方法。只需从一个已知工作的完整描述的设置开始。还有:不要把代码放在注释中。更新你的问题。比如:我试过使用这个扩展,但后来我自己启动服务器时出现了另一个异常,但谢谢,我将尝试从接口方法抛出RemoteException
。@KhalilHamani当你得到答案时,只尝试你喜欢的部分没有多大意义。你必须做这一切。