use*_*094 1 session jsp servlets
在我的servlet JSP应用程序中,无论用户是否登录系统,我都使用了一个会话变量来存储登录状态。该值为布尔值。
session.setAttribute("sess_login",true);
Run Code Online (Sandbox Code Playgroud)
现在,当我注销后在登录页面中检查此值时,我在下一行收到NullPointer异常。
boolean login=((Boolean) session.getAttribute("sess_login")).booleanValue();
Run Code Online (Sandbox Code Playgroud)
但是,如果我在会话变量中存储一个字符串值,这会很好。
谁能解释我背后的原因?
我测试了您的代码,它正常工作。我认为您在测试中犯了一些错误。
在您的代码中,如果sess_login会话对象中不存在该属性,NullPointerException则会抛出异常(我认为这是您的问题)。
为了防止引发异常,最好使用以下代码:
if(session().getAttribute("status") != null){
boolean value = (Boolean) req.getSession().getAttribute("status");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7719 次 |
| 最近记录: |