A.只移除自己编写的servlet创建的数据:
调用removeAttribute(“key”)将指定键关联的值废弃
B.删除整个会话(在当前Web应用中):
调用invalidate,将整个会话废弃掉 。这样做会丢失该用户的所有会话数据,而非仅仅由我们
servlet或JSP页面创建的会话数据
C.将用户从系统中注销并删除所有属于他(或她)的会话
调用logOut , 将客户从Web服务器中注销,同时废弃所有与该用户相关联的会话(每个Web应用至多一个) 。这个操作有可能影响到服务器上多个不同的Web应用
*************************************************************************************
二十三、使用isNew来判断用户是否为新旧用户的错误做法
*************************************************************************************
public boolean isNew()方法如果会话尚未和客户程序(浏览器)发生任何联系,则这个方法返回true , 这一般是因为会话是新建的,不是由输入的客户请求所引起的 。
但如果isNew返回false,只不过是说明他之前曾经访问该Web应用,并不代表他们曾访问过我们的servlet或JSP页面 。
因为session是与用户相关的,在用户之前访问的每一个页面都有可能创建了会话 。因此isNew为false只能说用户之前访问过该Web应用 , session可以是当前页面创建 , 也可能是由用户之前访问过的页面创建的 。
正确的做法是判断某个session中是否存在某个特定的key且其value是否正确
*************************************************************************************
二十四、Cookie的过期和Session的超时有什么区别
*************************************************************************************
会话的超时由服务器来维护,它不同于Cookie的失效日期 。首先,会话一般基于驻留内存的cookie
不是持续性的cookie,因而也就没有截至日期 。即使截取到JSESSIONID cookie,并为它设定一个失效日期发送出去 。浏览器会话和服务器会话也会截然不同 。
*************************************************************************************
二十五、session cookie和session对象的生命周期是一样的吗
*************************************************************************************
当用户关闭了浏览器虽然session cookie已经消失 , 但session对象仍然保存在服务器端
*************************************************************************************
二十六、是否只要关闭浏览器,session就消失了
*************************************************************************************
程序一般都是在用户做log off的时候发个指令去删除session , 然而浏览器从来不会主动在关闭之前通知服务器它将要被关闭,因此服务器根本不会有机会知道浏览器已经关闭 。服务器会一直保留这个会话对象直到它处于非活动状态超过设定的间隔为止 。
之所以会有这种错误的认识,是因为大部分session机制都使用会话cookie来保存session id,而关闭浏览器后这个session id就消失了,再次连接到服务器时也就无法找到原来的session 。
如果服务器设置的cookie被保存到硬盘上,或者使用某种手段改写浏览器发出的HTTP请求报头,把原来的session id发送到服务器,则再次打开浏览器仍然能够找到原来的session 。
恰恰是由于关闭浏览器不会导致session被删除,迫使服务器为session设置了一个失效时间 , 当距离客户上一次使用session的时间超过了这个失效时间时,服务器就可以认为客户端已经停止了活动,才会把session删除以节省存储空间 。
由此我们可以得出如下结论:
推荐阅读
- 如何给excel设置密码,如何给excel设置密码不让别人打开
- 日语chatgpt新闻,日语翻译 新闻
- 战皇txt全集下载的简单介绍
- springboot和HTML5,springBoot分为几层
- php数据库项目实例 php数据库项目实例分析
- oracle数据库能用来干嘛,oracle数据库主要应用领域
- 虚拟主机环境,虚拟主机cpanel
- ppt如何加单位水印,ppt如何加上单位的标志
- 从事电商如何规划,做电商的规划