1

我有一个扩展 Servlet 的可序列化类

public class FileDownload extends HttpServlet{
  @SuppressWarnings("compatibility:6754389671327954013")
  private static final long serialVersionUID = 1L;
  private ResultSet rset;
  ......
}

我的问题是:

对象是否在编译或运行时rset自动转换?transient还是我必须将其明确标记为transient?(这是我的 IDE JDeveloper 发出的警告)。

4

2 回答 2

2

不,序列化不会忽略该字段 -java.io.NotSerializableException如果您尝试序列化FileDownload. 标记它transient。顺便说一句,ResultSet作为 a中的字段做什么Servlet?这不是线程安全的。ResultSets在任何情况下都应该是局部变量。

于 2012-07-05T14:36:24.007 回答
0

你必须调用transient你自己的。但是你不能serialize一个对象,除非它实现了Serializable接口。ResultSet 就是这样一种对象。

于 2012-07-05T14:25:21.867 回答