Java:session中的invalidate()的作⽤是什么呢?求解
⼿⼯杀会话。
会话失效有2种可能:超时和⼿⼯杀会话。⼿⼯杀⽅便省时间,程序员都爱⽤。
⽐如我做⼀个程序需要登录,中间访问的页⾯有会话控制,如果没有登录则跳转到登录页⾯,退出时清会话信息。
这是有两个选择:把session数据清空,或直接杀会话。建议直接杀会话,⽅便。
如果退出时不清会话,对⽅点浏览器后退,依然⽆需登录可以正常访问站点。
session数据错误是什么意思追问
就是说这个东西的最⼤⽤处是作退出功能时直接⽤session.invalidate()将session清空就⾏了以免有遗漏,如果想⼿动清空某项session,也可以赋null,是这样吗?
追答
session.invalidate()是杀掉会话
赋值null,是清空会话,很可能是⼀个陷阱。
2者是不同的概念。session是⼀个容器,⾥⾯可以存数据。以在⾷堂吃饭为例:session是碗,赋值null想当于空碗,数据相当于碗⾥的饭,invalidate相当于把碗摔了()。赋值null是个陷阱,开发不要⽤。