java中为什么session有时候是null

 我来答
随性亻
推荐于2016-08-21 · TA获得超过4180个赞
知道小有建树答主
回答量:4622
采纳率:84%
帮助的人:632万
展开全部

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

  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", "孤傲苍狼");

薛宝魁
2014-01-16
知道答主
回答量:80
采纳率:0%
帮助的人:24.3万
展开全部
你说的是sessionid吗 只要不注销,或者关闭浏览器,sessionid 是不会空的 其他的需要你往里面放东西才会用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
程序小屋
2018-02-13 · 专门做程序的程序员哦
程序小屋
采纳数:21 获赞数:64

向TA提问 私信TA
展开全部
可以用Debug、打断点跑一下,然后加上百度查询下是否代码写的有问题
我以前也遇见过,在启动项目的时候,设置一个获取Connection的session,我的是代码获取方式不正确,百度才知道的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
InitailDream
2014-01-17
知道答主
回答量:55
采纳率:0%
帮助的人:20.8万
展开全部
禁用了cookie,并且session也没有赋值,调用Request.getSession().setAttribute("username",""),此时session应该为空。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
brightmoon2008
2014-01-16 · TA获得超过254个赞
知道答主
回答量:10
采纳率:0%
帮助的人:5.9万
展开全部
禁用了cookie的话JSESSIONID就为空,然后session就没了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式