Java:session中的invalidate()的作用是什么呢?求解
Posted shoshana-kong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java:session中的invalidate()的作用是什么呢?求解相关的知识,希望对你有一定的参考价值。
手工杀会话。
会话失效有2种可能:超时和手工杀会话。手工杀方便省时间,程序员都爱用。
比如我做一个程序需要登录,中间访问的页面有会话控制,如果没有登录则跳转到登录页面,退出时清会话信息。
这是有两个选择:把session数据清空,或直接杀会话。建议直接杀会话,方便。
如果退出时不清会话,对方点浏览器后退,依然无需登录可以正常访问站点。
会话失效有2种可能:超时和手工杀会话。手工杀方便省时间,程序员都爱用。
比如我做一个程序需要登录,中间访问的页面有会话控制,如果没有登录则跳转到登录页面,退出时清会话信息。
这是有两个选择:把session数据清空,或直接杀会话。建议直接杀会话,方便。
如果退出时不清会话,对方点浏览器后退,依然无需登录可以正常访问站点。
追问
就是说这个东西的最大用处是作退出功能时直接用session.invalidate()将session清空就行了以免有遗漏,如果想手动清空某项session,也可以赋null,是这样吗?
追答
session.invalidate()是杀掉会话
赋值null,是清空会话,很可能是一个陷阱。
2者是不同的概念。session是一个容器,里面可以存数据。以在食堂吃饭为例:session是碗,赋值null想当于空碗,数据相当于碗里的饭,invalidate相当于把碗摔了()。
赋值null是个陷阱,开发不要用。
以上是关于Java:session中的invalidate()的作用是什么呢?求解的主要内容,如果未能解决你的问题,请参考以下文章
session.invalidate()和session.abandon()有啥不同,该如何选择?
如何在JSP页面关闭或者返回别的页面后清除session中的值