Session中清除对象方法比较
Session.Abandon (当前页面结束之后删除Session对象) Session.Clear(清理Session对象中的内容)
Abandon
Abandon 方法删除所有存储在 Session 对象中的对象并释放这些对象的源。如果您未明确地调用 Abandon 方法,一旦会话超时,服务器将删除这些对象 。
语法Session.Abandon
注释
Abandon 方法被调用时,将按序删除当前的 Session 对象,不过在当前页中所有脚本命令都处理完后,对象才会被真正删除。这就是说,在调用 Abandon 时,可以在当前页上访问存储在 Session 对象中的变量,但在随后的 Web 页上不行。
例如,在下列脚本中,第三行打印出 Mary 值。这是因为在服务器处理完脚本前没有删除 Session 对象。
<%
Session.Abandon
Session("MyName") = "Mary"
Reponse.Write(Session("MyName"))
%>
如果在随后 Web 页上访问 MyName 变量,您将发现它是空的。这是因为当包含上一个例子的页面结束处理时,MyName 同前面的 Session 对象一起被删除了。
放弃会话并打开后面的 Web 页时,服务器会创建新的 Session 对象。您可以在新的 Session 对象中存储变量和对象。
示例
当服务器处理完当前页时,下面示例将释放会话状态。
<% Session.Abandon %>
Clear
Session.Abandon 和Session.Clear有何不同
Session.Clear()就是把Session对象中的所有项目都删除了,Session对象里面啥都没有。但是Session对象还保留。
Session.Abandon()就是把当前Session对象删除了,下一次就是新的Session了。
主要的不同之处在于:
当使用Session.Abandon时,会调用Session_End方法(InProc模式下)。当下一个请求到来时将激发Session_Start方法;而Session.Clear只是清除Session 中的所有数据并不会中止该Session,因此也不会调用那些方法。
http://copperfield.iteye.com/blog/890018
session.invalidate()是销毁跟用户关联session,例如有的用户强制关闭浏览器,而跟踪用户的信息的session还存在,可是用户已经离开了。
虽然session 生命周期浏览默认时间30分,但是在30分钟内别的用户还可以访问到前一个用户的页面,需销毁用户的session。
session.removeAttribute()移除session中的某项属性。
在spring例子中宠物商店的注销登录的代码:
request.getSession().removeAttribute("userSession");
// 注销用户,使session失效。
request.getSession().invalidate();
Session中清除对象方法比较的更多相关文章
- 在PHP中使用SPL库中的对象方法进行XML与数组的转换
虽说现在很多的服务提供商都会提供 JSON 接口供我们使用,但是,还是有不少的服务依然必须使用 XML 作为接口格式,这就需要我们来对 XML 格式的数据进行解析转换.而 PHP 中并没有像 json ...
- Session中load/get方法的详细区别
Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象.其区别在于: 如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个O ...
- js中Array对象方法详解
操作方法:concat() slice() splice() concat()方法可以基于当前数组中的所有项创建一个新数组.具体来说,这个方法会创建当前数组一个副本,将接收到参数添加到副本的末尾,最后 ...
- javascript 获取父页面中元素对象方法
父页面中: <input type="hidden" id="areaID" value="test1"> <iframe ...
- python--类中的对象方法、类方法、静态方法的区别
1.对象方法:顾名思义,是对类实例化后的对象有效的,由对象调用 2.类方法:第一个参数是cls(当前类),是对当前类做的额外的处理,类方法需要用类去调用,而不是实例对象调用 3.静态方法:没有参数!没 ...
- javascript中string对象方法中的slice、substring、substr的区别联系
1.slice.substring.snustr均属于String的对象方法,用于截取或提取字符串片段,三者均布破坏原先的字符串,而是以新的字符串返回被提取的部分. <script> va ...
- Hibernate session中的createCriteria方法
在应用中获取session对象: Session session= HibernateUtil.getSession(); List list=session.createCriteria(Mete ...
- java中的对象 方法 引用 等一些抽象的概念是什么意思呢?
2020-03-14 最近这一段时间有点忙,好久都没有更新博客了,之后我会一直坚持下去的,和大家一同进步的. 这段时间一直在学java,相信刚开始学习java的小白,刚开始接触那么些抽象的概念一定和我 ...
- 当保存在Session中的对象,取出后,在外部发生改变时会怎样
return_reason_model model = new return_reason_model(); model.F_RetunrnReason = "; HttpContext.S ...
随机推荐
- RabbitMQ面试问答(子文章)(持续更新)
-----> 总文章 入口 文章目录 [-----> 总文章 入口](https://blog.csdn.net/qq_37214567/article/details/90174445) ...
- Tkinter 之磁盘搜索工具实战
一.效果图 二.代码 miniSearch.py from tkinter import * from tkinter import ttk, messagebox, filedialog from ...
- 单一职责原则(SRP)
内聚性:一个模块的组成元素之间的功能相关性.就一个类而言,应该仅有一个引起它变化的原因.当需求变化时,该变化会反映为类的职责的变化,如果一个类承担了多于一个的职责,那么引起它变化的原因就会有多个.如果 ...
- PHP无法使用curl_init()函数
主要针对在Ubuntu16.04搭建CRMEB环境时,监测环境会出现一个curl_init问题,这时只需执行如下命令即可解决: sudo apt-get install php-curl
- Java 什么是静态内部类
#定义 Java语言允许在类中再定义类,这种在其它类内部定义的类就叫内部类. 有static关键字修饰的内部类. 比如:Pattern类中的Node类. public class Outer { pr ...
- mysql 日期总结
select to_days(now()) #737733 select date_format(now(),'%Y-%m-%d') #2019-11-05 select CURRENT_DATE() ...
- lintcode 787. The Maze 、788. The Maze II 、
787. The Maze https://www.cnblogs.com/grandyang/p/6381458.html 与number of island不一样,递归的函数返回值是bool,不是 ...
- Dart自定义库、系统库和第三方库
/* 前面介绍Dart基础知识的时候基本上都是在一个文件里面编写Dart代码的,但实际开发中不可能这么写,模块化很重要,所以这就需要使用到库的概念. 在Dart中,库的使用时通过import关键字引入 ...
- 基于ZooKeeper实现简单的服务注册于发现
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/Shaun_luotao/article/ ...
- ES6深入浅出-8 新版的类(下集)-2.全部语法
解答提问 两边都没有构造函数的情况 父类没有构造函数,子类有构造函数的情况 下面用到的了this.body这个属性,所以super()必须要放在这行代码的上面. 在调用this之前必须调用super( ...