Servlet和Applet之间的自定义对象

时间:2014-02-22 11:40:28

标签: java tomcat servlets applet

我有一个servlet和一个小程序,在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();

并且applet以这种方式接收它:

InputStream instr = con.getInputStream();
ObjectInputStream inputFromServlet = new ObjectInputStream(instr);
Apartment apart = (Apartment) inputFromServlet.readObject();
inputFromServlet.close();
instr.close();

但applet给了我一个错误:java.lang.ClassNotFoundException: servlet_package.Apartment,我在applet jar和servlet包中创建了Apartment类,但是不起作用......我怎么能这样做?

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

但我无法理解答案......

任何帮助?

1 个答案:

答案 0 :(得分:1)

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