我收到错误
java.io.NotSerializableException:org.apache.catalina.session.StandardSessionFacade
如何解决此错误?我在viewScope中使用managedBeans。还使用过滤器创建会话。造成这种异常的原因是什么?
由于
答案 0 :(得分:1)
您已将HttpSession
引用为某些JSF托管bean类的属性。这是一个非常糟糕的设计。删除它并更改您的方法,以便从线程局部范围中的FacesContext
获取它。但毕竟,这仍然是一种气味,在正确设计的JSF托管bean类中,您应该不拥有import javax.servlet...
的任何一行。如何正确解决这个问题取决于具体的功能要求,这一要求根本不在您的问题中。我的第一个猜测是你实际上需要一个会话范围的托管bean,然后由@ManagedProperty
注入。