首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >org.apache.catalina.session.StandardSessionFacade :java.io.NotSerializableException

org.apache.catalina.session.StandardSessionFacade :java.io.NotSerializableException
EN

Stack Overflow用户
提问于 2012-02-10 18:48:51
回答 1查看 7.4K关注 0票数 0

当我部署webapp时,我会看到以下错误消息:

代码语言:javascript
复制
com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException
SEVERE: Error Rendering View[/qtl.xhtml]
java.io.NotSerializableException: org.apache.catalina.session.StandardSessionFacade
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
at java.util.HashMap.writeObject(HashMap.java:1001)
...

我研究了一下,这个错误可能是因为我试图序列化不可序列化的属性。所以我有一个ApplicationScoped托管bean,如下所示

代码语言:javascript
复制
@ManagedBean
@ApplicationScoped
public class ApplicationBean implements Serializable {

    private Map<String, HttpSession> logins; 
    ...
}

Map<String, HttpSession> logins可以序列化吗?

Tomcat 7

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-10 19:20:45

HttpSession确实是不可序列化的。毕竟,应用程序作用域bean也不应该是可序列化的。从应用程序作用域bean类中删除implements Serializable,不要将其作为会话或视图作用域bean的托管属性注入。相反,只将其注入一个请求作用域bean中,或者从应用程序映射中获取它。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9233111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档