java中为什么session有时候是null

2025-03-04 16:07:57
推荐回答(5个)
回答1:

不知道你说的具体是什么情况,一般有一下几种情况

  1. 你给session赋值没赋值成功,所以你读取session时为空。

  2. 你给session赋值了,但是session很快就失效了。

  3. 你有变量跟session的名字一样,值被覆盖了或者覆盖了空值。

  4. 或者你的java程序里面设置了禁用session,这个需要你打开session设置。


session的创建有下边几种:

//使用request对象的getSession()获取session,如果session不存在则创建一个
HttpSession session = request.getSession();
//将数据存储到session中
session.setAttribute("data", "孤傲苍狼");


HttpSession session = HttpServletRequest.getSession(true);

session.setAttribute("data", "孤傲苍狼");

回答2:

你说的是sessionid吗 只要不注销,或者关闭浏览器,sessionid 是不会空的 其他的需要你往里面放东西才会用

回答3:

可以用Debug、打断点跑一下,然后加上百度查询下是否代码写的有问题
我以前也遇见过,在启动项目的时候,设置一个获取Connection的session,我的是代码获取方式不正确,百度才知道的

回答4:

禁用了cookie,并且session也没有赋值,调用Request.getSession().setAttribute("username",""),此时session应该为空。

回答5:

禁用了cookie的话JSESSIONID就为空,然后session就没了