如何使用Java RMI在服务器和客户端之间使用ArrayList存储数据?

如何使用Java RMI在服务器和客户端之间使用ArrayList存储数据?,java,swing,arraylist,rmi,Java,Swing,Arraylist,Rmi,我的最后一个项目是开发一个GUI系统,该系统使用JavaRMI提供有关(罪犯)的信息 有关系统的一些信息: 客户端没有任何数据,只需从RMI服务器和 视图 存储在RMI服务器中的阵列列表中的所有数据 客户要求如下: (查看列表、查看犯罪信息、刷新列表、搜索犯罪信息) 我不是要整个实现,只是要有足够的代码和提示来帮助我解决问题,并让我继续了解系统 到目前为止我的代码。 服务类 import java.rmi.server.*; import java.rmi.*; import java.ut

我的最后一个项目是开发一个GUI系统,该系统使用JavaRMI提供有关(罪犯)的信息

有关系统的一些信息:

  • 客户端没有任何数据,只需从RMI服务器和 视图
  • 存储在RMI服务器中的阵列列表中的所有数据
  • 客户要求如下: (查看列表、查看犯罪信息、刷新列表、搜索犯罪信息)
我不是要整个实现,只是要有足够的代码和提示来帮助我解决问题,并让我继续了解系统

到目前为止我的代码。

服务类

import java.rmi.server.*;
import java.rmi.*;
import java.util.ArrayList;

public class Service extends UnicastRemoteObject
    implements Interface {

ArrayList Info = new ArrayList();

public Service() throws RemoteException {
super();
  }

public  add (Person p) {
  return Info.add(p);
  }

public  update(Person p) {

  }

public int delete(Person p) {

  }

public ArrayList findByName(String criteria) {

    }
  }
接口类

import java.rmi.*;
import java.util.ArrayList;

public interface Interface extends Remote {

public int add(Person p) throws RemoteException;

public int update(Person p) throws RemoteException;

public int delete(Person p) throws RemoteException;

public ArrayList findByName(String criteria) throws RemoteException;

 }
人类

public class Person {

private String name;
private String address;
private String mobile;

public Person(String name, String address, String mobile) {
    this.name = name;
    this.address = address;
    this.mobile = mobile;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getAddress() {
    return address;
}

public void setAddress(String address) {
    this.address = address;
}

public String getMobile() {
    return mobile;
}

public void setMobile(String mobile) {
    this.mobile = mobile;
}

}
我制作了一个Jframe类,将罪犯数据存储到数组列表中,但它还没有连接到任何东西..如下图所示,我可以添加、删除罪犯,并从旁边的表中更新他们的数据

客户机类是Jframe,它显示了我以前在表中存储的罪犯,我可以选择任何人,它将显示他们的信息,而不需要更新,它还必须使客户机能够按姓名搜索特定的罪犯

现在的问题是,我不知道如何将所有数据连接在一起,所有数据都必须在服务器上,客户端只请求它,但我不知道如何准确地使我存储的信息能够显示在客户端!? 我需要一些提示,有什么能让我明白这是怎么回事吗


提前感谢您。

您正在重新发明车轮。使用NetBeans(例如),您可以自动设置它,而无需创建一个全新的管道系统您好,我正在使用NetBeans,但这是如何解决问题的?我不理解这个问题。您有
public ArrayList findByName(字符串条件)
,客户端使用它调用服务器并获取
ArrayList
。现在,只需在客户端对其执行任何需要执行的操作,并且不要将您的接口称为“接口”。