使用工具:
eclipse + tomcat6

现象描述:
一直用tomcat一段时间都正常无事,最近一次启动tomcat就发生以下异常


错误如下:

严重: IOException while loading persisted sessions: java.io.EOFException
java.io.EOFException
	at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)
	at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)
	at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:779)




处理方式:


将work下面的文件清空,主要是对应工程的*.ser文件,或者只是删除掉session.ser即可以解决,eg: E:\apache-tomcat-6.0.18\work\Catalina\localhost\youprogect\ 将这个目录里的文件清空即可


原因和猜想:


在非正常退出时,TOMCAT会记录一些数据,下次开启时会去读这些数据,以便让上次关闭时的session继续有效,故而产生session.ser文件



而在重新启动的时候,tomcat对硬盘的session读取失败导致开启失败