Java Servlet和Applet之间的自定义对象
我有一个servlet和一个applet,它们在java中共享一个自定义对象: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
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。