2012-09-25 197 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等内部析构函数 您是否也希望员工有权访问服务器并重新启动它? –

相关问题