サンプル

public void doGet(HttpServletRequest req, HttpServletResponse resp) {

HttpSession session = req.getSession(true);
session.setAttribute(ATTRIB_NAME, new NonSerializableData());
// ...
}
public class NonSerializableData {
// ...
}

private static final String ATTRIB_NAME = "badExample";

解決策
オブジェクトに java.io.Serializable を実装させるか、フィールドを transient フィールドにするか、あるいはオブジェクトを HttpSession に保管しないようにしてください。

public void doGet(HttpServletRequest req, HttpServletResponse resp) {

HttpSession session = req.getSession(true);
session.setAttribute(ATTRIB_NAME, new SerializableData());
// ...
}
public class NonSerializableData implements java.io.Serializable {
static final long serialVersionUID = -817083988410801866L;
// ...
}

private static final String ATTRIB_NAME = "badExample";