Java Servlet和Applet之间的自定义对象

Java Servlet和Applet之间的自定义对象,java,tomcat,servlets,applet,Java,Tomcat,Servlets,Applet,我有一个servlet和一个applet,它们在java中共享一个自定义对象: public class Apartment { public String id_apartment; public String user_owner; public String address; } servlet通过以下方式传递对象: OutputStream outstr = response.getOutputStream(); ObjectOutputStream oos

我有一个servlet和一个applet,它们在java中共享一个自定义对象:

public class Apartment  {
    public String id_apartment;
    public String user_owner;
    public String address;
}
servlet通过以下方式传递对象:

OutputStream outstr = response.getOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(apartment);
oos.writeObject(apartments);
oos.flush();
oos.close();
InputStream instr = con.getInputStream();
ObjectInputStream inputFromServlet = new ObjectInputStream(instr);
Apartment apart = (Apartment) inputFromServlet.readObject();
inputFromServlet.close();
instr.close();
小程序通过以下方式接收:

OutputStream outstr = response.getOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(apartment);
oos.writeObject(apartments);
oos.flush();
oos.close();
InputStream instr = con.getInputStream();
ObjectInputStream inputFromServlet = new ObjectInputStream(instr);
Apartment apart = (Apartment) inputFromServlet.readObject();
inputFromServlet.close();
instr.close();
但是小程序给了我一个错误:
java.lang.ClassNotFoundException:servlet\u package.Apartment
,我已经在小程序jar和servlet包中创建了Apartment类,但不起作用……我该怎么做

我发现这个问题是这样的:

但我不明白答案


有什么帮助吗?

您不能在不同的包、servlet和applet中创建相同的类。您必须创建一个唯一的单元类,对其进行编译,并将其放在servlet的类路径和applet的类路径中。同一类文件必须由双方共享。

共享模式下类的相似性定义是:类应具有相同的代码(属性),并且位于同一个包中。如果使用序列化,则在反序列化时,它应该具有与用于序列化的版本id相同的版本id。