java.io.NotSerializableException.
在重启Tomcat 5时发现报此错误.
查阅后发现tomcat 5之后重启服务后tomcat会尝试恢复session.
解决方法:
下面是方法一(通过配置,使tomcat重启后不重新恢复session):
在关闭和重启Tomcat 5时, tomcat 会试图 serialize存在的session资源. 如果 sessions中相关的对象没有实现 serializable 接口, 就会出现Cannot serialize session attribute XXX for 异常
java.io.NotSerializableException: ...........
如果你不想看到该异常, 也不想保存session. 那么你可以在项目部署描述文件中(如. test.xml,)(instead of just exploding the war) 的 tags中间 加上 :
saveOnRestart="false"/>
<Manager className="org.apache.catalina.session.PersistentManager"
saveOnRestart="false"/>
这样 tomcat 在关闭的时候就不会保存session资源了.
你也可以在server.xml中指定上面的值. 这也所有的程序都使用这个设置了.
方法二:
既然报没有序列化的错误,那我们就把我们的对象序列化了就是了,实现起来也很简单,就是把要放入session的对象序列化即可
public class YourClassName implements java.io.Serializable{
}
分享到:
相关推荐
Java 中序列化 NotSerializableException 问题解决办法 Java 中序列化 NotSerializableException 问题是 Java 开发中常见的问题之一。 NotSerializableException 是 Java 中的一个异常,它发生在尝试序列化一个不...
常见的问题
在【描述】中提到的问题,当你尝试启用二级缓存时,如果实体类没有实现`Serializable`接口,MyBatis在尝试序列化对象存储到缓存时会抛出`java.io.NotSerializableException`。这是因为Java的序列化机制要求可序列化...
导入java.io.NotSerializableException; 导入java.io.ObjectStreamException; 导入java.io.Serializable; 导入java.security.AccessController; 导入java.security.AuthProvider; 导入java.security....
Struts2是一个强大的Java web应用程序框架,它基于MVC(Model-View-Controller)设计模式,为开发人员提供了构建高效、可维护性高的Web应用的工具。XWork是Struts2的核心组件,它负责处理Action的业务逻辑和控制流程...
在Java中,要实现对象的序列化,类必须实现`java.io.Serializable`接口。这个接口没有任何方法,仅仅作为一个标记,告诉Java虚拟机(JVM)这个类是可序列化的。 有两种主要的序列化方式: 1. 实现`Serializable`...
因此,在尝试序列化`Forest`对象时,会抛出`java.io.NotSerializableException`,因为`Tree`不支持序列化。因此,运行时会出现异常,答案是B。 ```java class Forest implements Serializable { private Tree tree...
3. `java.io.NotSerializableException`: 当尝试序列化一个未实现Serializable接口的对象时抛出的异常。 4. `sun.misc.BASE64Encoder`和`sun.misc.BASE64Decoder`(非标准API):用于将字节数组编码为Base64字符串,...
在题目中,由于`Tree`类没有实现`Serializable`接口,所以在尝试序列化`Forest`实例时,会抛出`java.io.NotSerializableException`。 2. **对象的序列化与反序列化**:在问题2中,正确的序列化和反序列化代码是选项...
java.io.NotSerializableException: xxxxxx ``` 3. **解决方法** - **方法一**: 配置Tomcat不在关闭时保存Session数据。 在`server.xml`文件中的`<Context>`标签下添加以下内容: ```xml ...
Java还提供了`java.io.ObjectStreamClass`和`java.io.ObjectStreamConstants`等辅助类来处理序列化相关的元数据,以及`java.io.NotSerializableException`和`java.io.OptionalDataException`等异常,它们分别在对象...
在Java中,如果一个对象需要支持序列化,那么该对象的类必须实现`java.io.Serializable`接口。这个接口是一个标识接口,即不包含任何方法,它的作用就是标记一个类的对象是可序列化的。 【序列化特点】 1. **仅...
要实现序列化的类必须实现的java.io.Serializable或java.io.Externalizable接口,否则将产生一个NotSerializableException。该接口内部并没有任何方法,它只是一个"tagging interface",仅仅"tags"它自己的对象是一...
在比较`java.io.BufferedWriter`和`java.io.FileWriter`时,题目询问哪一个功能仅存在于其中一个类中。选项E指出写入行分隔符到流是`BufferedWriter`独有的功能,这是正确的。`BufferedWriter`提供了一个`newLine()`...
可以使用`java.io.ObjectOutputStream`和`java.io.ObjectInputStream`来实现: ```java public class MyClass implements Serializable { private MyObject reference; // ...其他属性和方法... public MyClass...
为了使一个Java对象能够被序列化,该类必须实现`java.io.Serializable`接口。虽然这个接口没有任何方法,但它的存在告诉JVM这个类的实例可以被转换为字节流。如果一个类没有实现这个接口,尝试序列化其对象时会抛出...
例如,如果你有一个`HashMap, Object>`,并且`Object`没有实现`Serializable`,那么在尝试序列化时会抛出`java.io.NotSerializableException`异常。 **二、对象的反序列化** 反序列化是将字节流转换回对象的过程。...
在Java中,对象序列化是通过实现`java.io.Serializable`接口来实现的。 **Serializable接口**: `Serializable`接口是一个标记接口,它没有定义任何方法。当一个类实现了这个接口,就意味着该类的对象可以被序列化...
当尝试通过`java.io.ObjectOutputStream`序列化一个未实现`Serializable`接口的对象时,会引发`NotSerializableException`。 **原因分析:** 序列化是将对象状态转换为可以持久化或通过网络传输的形式的过程。Java...