我正在使用struts1.3.8。 JSP頁面包含scriptlet以迭代會話中的數據。一旦用戶打開該頁面並且不執行任何操作,直到會話過期,然後再次刷新,則拋出java.lang.NullPointerException
。如何處理會話過期時JSP中的異常?
那麼如何處理這個異常以及如何讓會話保持活躍?
我正在使用struts1.3.8。 JSP頁面包含scriptlet以迭代會話中的數據。一旦用戶打開該頁面並且不執行任何操作,直到會話過期,然後再次刷新,則拋出java.lang.NullPointerException
。如何處理會話過期時JSP中的異常?
那麼如何處理這個異常以及如何讓會話保持活躍?
您可以依靠知名會話中的屬性的存在。
當會話第一次創建時設置此項。
session.setAttribute("well-known-attribute", "abcd");
在你的JSP中,在你做任何迭代之前檢查這個屬性是否存在。
if(session.getAttribute("well-known-attribute") != null) {
// iterate others now
} else {
session.setAttribute("well-known-attribute", "abcd");
// now add the other attributes.
}
一個新會always be created如果
嗨Adarshr,有沒有任何方式重定向用戶到一些異常頁面,當前刷新頁面拋出異常? –
你可以在'web.xml'中聲明錯誤頁面。 '
當會話過期時,scriptlet會拋出異常。在這種情況下,重定向他到一些錯誤頁面將有意義,我認爲..是否正確? –
這只是你的代碼中的一個錯誤。你應該修復你的代碼來處理對象爲null的情況,而不是依賴於它永遠不會成爲null。 – BalusC
有時,當會話不過期時,會話屬性在嘗試訪問時也會給出空值。但有時工作正常。會有什麼問題?與會議? –