不知道你说的具体是什么情况,一般有一下几种情况
你给session赋值没赋值成功,所以你读取session时为空。
你给session赋值了,但是session很快就失效了。
你有变量跟session的名字一样,值被覆盖了或者覆盖了空值。
或者你的java程序里面设置了禁用session,这个需要你打开session设置。
session的创建有下边几种:
//使用request对象的getSession()获取session,如果session不存在则创建一个
HttpSession session = request.getSession();
//将数据存储到session中
session.setAttribute("data", "孤傲苍狼");
HttpSession session = HttpServletRequest.getSession(true);
session.setAttribute("data", "孤傲苍狼");
你说的是sessionid吗 只要不注销,或者关闭浏览器,sessionid 是不会空的 其他的需要你往里面放东西才会用
可以用Debug、打断点跑一下,然后加上百度查询下是否代码写的有问题
我以前也遇见过,在启动项目的时候,设置一个获取Connection的session,我的是代码获取方式不正确,百度才知道的
禁用了cookie,并且session也没有赋值,调用Request.getSession().setAttribute("username",""),此时session应该为空。
禁用了cookie的话JSESSIONID就为空,然后session就没了