【session】java.lang.IllegalStateException: getAttribute: Session already invalidated
程序员文章站
2024-02-28 19:51:34
...
1、问题定位:
在执行
/**
* 设置用户到session
*
* @param session
* @param user
*/
public static void saveUserToSession(HttpSession session, User user) {
session.setAttribute(USER, user);
}
session.setAttribute(USER, user)方法时会报这个异常
2、原因:
从Session中获取属性值的时候,Session已经无效
失效原因:
(1)Session timeout;
(2)程序中调用了session.invalidate()方法(设置session无效)
发现在之前执行了session.invalidate()操作,重新设置session。如果想给session重新赋值,需要将session
失效。
// 设置session无效
session.invalidate();
// 获取用户名
UserEntity userEntity = new UserEntity();
userEntity.setId(userName);
UserUtil.saveUserToSession(session, userEntity);
解决办法:
重新获取session,赋值
UserUtil.saveUserToSession(request.getSession(), userEntity);
注意:
getSession()相当于getSession(true);
参数为true时,若存在会话,则返回该会话,否则新建一个会话;
参数为false时,如存在会话,则返回该会话,否则返回NULL;
3、场景
session.invalidate()方法一般用于在用户退出注销的时候,设置缓存失效。
如果同一个用户打开多个浏览器实例,此时处于同一个session会话中。如果其中一个浏览器实例执行了退出注销操作,另外的浏览器实例如果在执行录入的操作,则会异常
上一篇: linux启动tomcat 服务报 The file is absent or does not have execute permission
下一篇: 已解决:Cannot find ./catalina.sh The file is absent or does not have execute permission This file is ne
推荐阅读
-
出现java.lang.IllegalStateException: Cannot create a session after the response has been committed异常
-
java.lang.IllegalStateException: getAttribute: Session already invalidated
-
Server报错:java.lang.IllegalStateException: Cannot create a session after the response has been commit
-
Tomcat8.5配置https时包 java.lang.IllegalStateException: SSL session ID not available错误的解决
-
【session】java.lang.IllegalStateException: getAttribute: Session already invalidated
-
java.lang.IllegalStateException: getAttribute: Session already invalidated
-
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
-
hibernate的报错信息a different object with the same identifier value was already associated with the session解决办法
-
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
-
jsp session.setAttribute()和session.getAttribute()用法案例详解