在会话中存储对象

Man*_*oor 1 java session servlets

我有一个 PersistenceCapable 类

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class MyClass
{
 @PrimaryKey
 @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
 private Long id;
         ..........
         ..........
}
Run Code Online (Sandbox Code Playgroud)

在我的 servlet 中,我需要在会话中存储这个类的对象

............
MyClass u = new MyClass();
......
......
HttpSession session = req.getSession(true);
session.setAttribute("SV", u);
........
Run Code Online (Sandbox Code Playgroud)

我正进入(状态 java.lang.RuntimeException: java.io.NotSerializableException:

这是什么?

rsp*_*rsp 5

会话可以临时存储在磁盘上或迁移到另一个应用程序服务器。为了确保会话中的对象可以在这些情况下被处理,它们需要可串行化。您可以通过实现Serializable接口来标记它:

import java.io.Serializable;

public class MyClass implements Serializable {
}
Run Code Online (Sandbox Code Playgroud)