tomcat错误问题?

Laughing 2008-04-11 02:57:27
在下在写有关程序时,出现了下面的tomcat错误,由于在下写的代码较多,又不懂这些错误代表什么意思,于是在下不知道是错在了
哪里,请知道的帮帮忙给分析一写,这种错误通常是什么原因造成的!!!

2008-4-1 21:09:00 org.apache.catalina.session.StandardSession writeObject
警告: Cannot serialize session attribute shopcar for session 5232F3C3F0DED988F8CF2B932E6CEA5A
java.io.NotSerializableException: my.lx.Allorder
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:391)
at java.util.Vector.writeObject(Vector.java:1018)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1468)
at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:938)
at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:516)
at org.apache.catalina.session.StandardManager.unload(StandardManager.java:462)
at org.apache.catalina.session.StandardManager.stop(StandardManager.java:666)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4358)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3018)
at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:432)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1277)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1569)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1578)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1578)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1558)
at java.lang.Thread.run(Thread.java:595)
2008-4-1 21:09:01 org.apache.catalina.session.StandardManager doLoad
严重: IOException while loading persisted sessions: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: my.lx.Allorder
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: my.lx.Allorder
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1309)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1392)
at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:921)
at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:393)
at org.apache.catalina.session.StandardManager.load(StandardManager.java:320)
at org.apache.catalina.session.StandardManager.start(StandardManager.java:636)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4161)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3024)
at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:432)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1277)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1569)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1578)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1578)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1558)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.io.NotSerializableException: my.lx.Allorder
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:391)
at java.util.Vector.writeObject(Vector.java:1018)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1468)
at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:938)
at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:516)
at org.apache.catalina.session.StandardManager.unload(StandardManager.java:462)
at org.apache.catalina.session.StandardManager.stop(StandardManager.java:666)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4358)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3018)
... 7 more
...全文
136 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoxue3333 2008-09-18
  • 打赏
  • 举报
回复
四楼太厉害了,刚才我也遇到这个问题了,正好查到这里,看到了,解决完了,谢谢
i_saw_you 2008-04-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 arkwrightzhn 的回复:]
看看你的程序里往session里存了什么东西?session.setAttribute()这样的语句,如果所存的对象或集合中的对象是你自己写的类的对象,注意让这个类implements java.io.Serializable,
因为tomcat在关闭时会把没有超时的session写进硬盘,下次启动时再加载进来,防止正在访问的用户因服务器重启而丢失信息,如果session里存了你写的类的对象,那么这个对象也要序列化进硬盘,所以你不实现java.io.Serializable接口,就会在序列化和…
[/Quote]
kokobox 2008-04-13
  • 打赏
  • 举报
回复
是lz没有编译完全造成的原因

你把整个工程重新编译一下,如果是在eclipse下的话,你把WEB-INF/classes/下全部删除掉,然后清理工程。

Laughing 2008-04-13
  • 打赏
  • 举报
回复
是session的持久化问题,在下明白了
谢谢了!
panxuan 2008-04-13
  • 打赏
  • 举报
回复
4楼正确。
Norris_Zhang 2008-04-11
  • 打赏
  • 举报
回复
看看你的程序里往session里存了什么东西?session.setAttribute()这样的语句,如果所存的对象或集合中的对象是你自己写的类的对象,注意让这个类implements java.io.Serializable,
因为tomcat在关闭时会把没有超时的session写进硬盘,下次启动时再加载进来,防止正在访问的用户因服务器重启而丢失信息,如果session里存了你写的类的对象,那么这个对象也要序列化进硬盘,所以你不实现java.io.Serializable接口,就会在序列化和读取时出现问题。
另类清晨 2008-04-11
  • 打赏
  • 举报
回复
写错了,是实现那个接口,不是继承.
另类清晨 2008-04-11
  • 打赏
  • 举报
回复
没有序列化?继承下Serializable(好像这个名字)看看可以不?楼主是用object的输入输出流方式吗?
ruky36 2008-04-11
  • 打赏
  • 举报
回复
不知道是不是环境变量的问题
Tomcat的环境变量:在“我的电脑”上点右键—>“属性”—>“高级”—> “环境变量(N)”。

  新建系统变量CATALINA_HOME:D:\jakarta-tomcat-5.0.30

  在系统变量CLASSPATH的值的后面加入:%CATALINA_HOME%\common\lib;

  在系统变量Path的值中"%JAVA_HOME%\bin;"的后面加入以下内容:%CATALINA_HOME%\bin;

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧