该问题的原因是tomcat的session持久化机制引起的,tomcat这个功能本身的用意在于重启tomcat后保持之前的session,但是在tomcat非正常关闭后,tomcat尝试恢复session时读取失败,就抛出错误,不影响系统使用。
如果需要避免这个问题关闭tomcat的持久化功能就就可以了,具体为修改server.xml文件。在项目的context间加入一句代码<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/>,重启tomcat以后再也不会报这个错误了。
<Context docBase="PetShop" path="/PetShop" reloadable="true" source="org.eclipse.jst.jee.server:PetShop">
<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/>
</Context>