2012-09-25 47 views
0

我已經使用JSF 2.0創建了Web應用程序。我創建了一個會話bean,其中我保留登錄的員工的ID。NullPointerException如果我重新啓動tomcat

問題是,當我在代碼中進行一些更改並重新啓動tomcat時,我得到空指針異常(如果我沒有註銷如果我退出系統,我不會得到空指針異常)。爲了克服這一點,我必須清除瀏覽器的歷史和問題得到解決。

以下是我關注的項目在線製作步驟。

  1. 不要改變代碼
  2. 複製戰爭文件到我的VPS
  3. 關閉Tomcat的
  4. 刪除根目錄文件夾
  5. 改變戰爭的文件名ROOT.war
  6. 重新啓動Tomcat

請建議我該怎麼做....

+0

你的問題是什麼?該怎麼辦?不要將記錄的用戶存儲在會話中,將cookie(會話ID)保存在cookie中,並且每次從數據庫獲取用戶。 – user1516873

+0

這裏的問題和答案也在here.then你需要什麼? – Ami

+0

@ILLA:我沒有在這裏回答.... –

回答

0

你想做什麼?

發生的事情是,當你不關閉瀏覽器,用戶仍在會話中,cookies,會話ID等存在。

現在,當您重新啓動服務器而不關閉IE /刪除歷史記錄時(如您所說),瀏覽器將查找服務器上的會話標識號(因爲您已重新啓動它),因此會引發nullPointerException。

你不需要做任何事情,這是預期的行爲。 在重新啓動服務器之後重新啓動或關閉瀏覽器之前註銷(請注意,由於會話在標籤頁中保持不變,因此新標籤頁不會工作)。您的程序將正常工作,並且您不會獲得任何空白指示器。

+0

感謝您的回答。但是,如果我忘記註銷並重新啓動服務器,該怎麼辦?我如何克服空指針異常?我必須得到解決方案,因爲我無法去告訴所有員工註銷...如果您忘記註銷並重新啓動服務器,請致電 –

+0

。在這種情況下,如果您關閉現有瀏覽器窗口並打開一個新窗口。它會按預期工作。瀏覽器內部的會話將保持不變,直到註銷。或者關閉瀏覽器。 另外,如果你真的想做這樣的事情。你可以編寫代碼清除cookies,會話ID等內部析構函數 您是否也希望員工有權訪問服務器並重新啓動它? –

相關問題