Spring MVC - 检查会话是否存在

时间:2015-01-29 19:36:38

标签: java session spring-mvc

我试图在Spring MVC(+ Hibernate)中做类似的事情:

  if (session.getAttribute("nameofthesession").equals(1)) {         
// do something     
    }

然而,这仅在会话已具有某些值时才有效。如果它不存在,则返回错误:HTTP状态500 - 请求处理失败;嵌套异常是java.lang.NullPointerException。

我应该怎样做才能使其发挥作用(例如,如何编写类似&#34的内容;如果会话存在且值= 1则执行某些操作")? 谢谢你的回答。

2 个答案:

答案 0 :(得分:2)

您可以使用此方法检查会话是否存在 -

request.getSession();  

如果它返回null,那么就没有会话存在。有关详细信息,请参阅this.

答案 1 :(得分:1)

如果session属性不存在,你从getAttribute方法得到null,你需要保护null返回,如下所示:

Object v = session.getAttribute ("nameofthesession");
if (v != null && v.equals (1) { /* ... */ }

或者:

if (Integer.valueOf (1).equals (session.getAttribute ("nameofthesession")) { /* ... */