首页 > 解决方案 > 在 HttpSession 中调用 setAttribute() 时遇到 java.lang.IllegalStateException: null

问题描述

再会,

以下是我的java代码:

Map< String, Account > accountMap = result.getAccountsMap( );
if ( accountMap != null )
    command.getSession( ).setAttribute( Constants.OA, accountMap ); 

IllegalStateException然后从今天早上开始,它会打开和关闭:

java.lang.IllegalStateException:在 com.ibm.ws.session.http.HttpSessionImpl.setAttribute(HttpSessionImpl.java:248) 处为空 ~[com.ibm.ws.webcontainer.jar:na] 在 com.ibm.ws.session .SessionData.putSessionValue(SessionData.java:293) ~[com.ibm.ws.webcontainer.jar:na] at com.ibm.ws.session.SessionData.setAttribute(SessionData.java:217) ~[com.ibm. ws.webcontainer.jar:na] 在 com.ibm.ws.session.HttpSessionFacade.setAttribute(HttpSessionFacade.java:169) ~[com.ibm.ws.webcontainer.jar:na]

我试图用谷歌搜索,但这似乎是一个非常常见的例外,我不知道应该如何/在哪里继续进行故障排除。

此应用程序在 WAS 8.5.5 上运行。

谁能给我建议?

标签: javawebsphereillegalstateexceptionhttpsession

解决方案


我猜这个会话此时是无效的。您可以添加支票isRequestedSessionIdValid()吗?事实上,你是从一个command对象而不是HttpServletRequest直接从一个对象中提取它,这意味着它很容易成为一个旧的、无效的对象。


推荐阅读