【问题标题】:Spring MVC - check if session existSpring MVC - 检查会话是否存在
【发布时间】:2019-08-26 12:03:39
【问题描述】:

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

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

但是,这仅在会话已经具有某些价值时才有效。如果不存在,则返回错误:HTTP Status 500 - Request processing failed;嵌套异常是 java.lang.NullPointerException。

我应该怎么做才能让它工作(例如,如何写“如果会话存在并且值 = 1 然后做某事”)? 谢谢你的回答。

【问题讨论】:

  • 我认为它与会话的存在无关,但它与会话属性的存在有关。

标签: java spring spring-mvc session


【解决方案1】:

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

request.getSession();  

如果返回null,则不存在会话。详情可以看this.

【讨论】:

    【解决方案2】:

    如果会话属性不存在,你会从 getAttribute 方法中得到 null,你需要像这样保护 null 返回:

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

    或者:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-29
      • 2018-04-04
      • 2013-02-26
      • 2013-05-22
      • 1970-01-01
      • 2011-02-18
      • 2012-10-03
      • 1970-01-01
      相关资源
      最近更新 更多