簡體   English   中英

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

[英]java.io.NotSerializableException: org.apache.catalina.session.StandardSessionFacade

部署Web應用程序時,我看到此錯誤消息

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,如下所示

@ManagedBean
@ApplicationScoped
public class ApplicationBean implements Serializable {

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

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

雄貓7

HttpSession確實不可序列化。 畢竟,應用程序范圍的bean也不應該可序列化。 從應用程序范圍的bean類中刪除implements Serializable ,並且不要將其作為會話或視圖范圍的bean的托管屬性注入。 而是將其僅注入到請求范圍的Bean中,或從應用程序映射中獲取。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM