我有一个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();


但是小程序给我一个错误:java.lang.ClassNotFoundException: servlet_package.Apartment,我在小程序jar和servlet包中都创建了Apartment类,但是不起作用...我该怎么做?

我在SO上找到了这个问题:Passing custom Objects from applet to servlet

但我不明白答案...

有什么帮助吗?

最佳答案

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

09-09 17:49