session的用法具体解说

session|session

 
Session 对象
可以使用 Session 对象存储特定用户会话所需的信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。

当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。

Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。有关使用 Session 对象的详细信息,请参阅“ASP 应用程序”部分的“管理会话”。

注意 会话状态仅在支持 cookie 的浏览器中保留。

语法
Session.collection|property|method

集合
Contents 包含已用脚本命令添加到会话中的项目。
StaticObjects 包含通过 <OBJECT> 标记创建的并给定了会话作用域的对象。

属性
CodePage 将用于符号映射的代码页。
LCID 现场标识。
SessionID 返回用户的会话验证。
Timeout 应用程序会话状态的超时时限,以分钟为单位。

方法
Abandon 该方法破坏 Session 对象并释放其资源。

事件
global.asa 文件中声明下列事件的脚本。

Session_OnEnd
Session_OnStart

有关以上事件及 global.asa 文件的详细信息, 请参阅 Global.asa 参考.

注释
您可以在 Session 对象中存储值。存储在 Session 对象中的信息在会话及会话作用域内有效。下列脚本演示两种类型的变量的存储方式。

<%
Session("username") = "Janine"
Session("age") = 24
%>

但是,如果您将对象存储在 Session对象中,而且您使用 VBScript 作为主脚本语言。则必须使用关键字 Set。如下列脚本所示。

<% Set Session("Obj1") = Server.CreateObject("MyComponent.class1") %>

然后,您就可以在后面的 Web 页上调用 MyComponent.class1 揭示的方法和属性,其调用方法如下:

<% Session("Obj1").MyMethod %>

也可以通过展开该对象的本地副本并使用下列脚本来调用:

<%
Set MyLocalObj1 = Session("Obj1")
MyLocalObj1.MyObjMethod
%>

创建有会话作用域的对象的另一种方法是在 global.asa 文件中使用 <OBJECT> 标记。

但是不能在 Session 对象中存储内建对象。例如,下面每一行都将返回错误。

<%
Set Session("var1") = Session
Set Session("var2") = Request
Set Session("var3") = Response
Set Session("var4") = Server
Set Session("var5") = Application
%>

在将对象存储到 Session 对象之前,必须了解它使用的是哪一种线程模型。只有那些标记为“Both”的对象才能存储在没有锁定单线程会话的 Session 对象中。详细信息, 请参阅“创建 ASP 组件”中的“选择线程模型”。

若您将一个数组存储在 Session对象中,请不要直接更改存储在数组中的元素。例如,下列的脚本无法运行。

<% Session("StoredArray")(3) = "new value" %>

这是因为 Session对象是作为集合被实现的。数组元素 StoredArray(3) 未获得新的赋值。而此值将包含在 Application 对象集合中,并将覆盖此位置以前存储的任何信息。

我们极力建议您在将数组存储在 Session对象中时,在检索或改变数组中的对象前获取数组的一个副本。在对数组操作时,您应再将数组全部存储在 Session 对象中,这样您所做的任何改动将被存储下来。下列的脚本对此进行演示。

---file1.asp---
<%
'Creating and initializing the array
Dim MyArray()
Redim MyArray(5)
MyArray(0) = "hello"
MyArray(1) = "some other string"

'Storing the array in the Session object
Session("StoredArray") = MyArray

Response.Redirect("file2.asp")
%>

---file2.asp---
<%
'Retrieving the array from the Session Object
'and modifying its second element
LocalArray = Session("StoredArray")
LocalArray(1) = " there"

'printing out the string "hello there"
Response.Write(LocalArray(0)&LocalArray(1))

'Re-storing the array in the Session object
'This overwrites the values in StoredArray with the new values
Session("StoredArray") = LocalArray
%>

示例
下列代码将字符串 MyName 分配给名为 name 的会话变量,并给名为 year 的会话变量指定一个值,而且为 some.Obj 组件的实例指定一个名为 myObj 的变量。

Session("name") = "MyName"
Session("year") = 96
Set Session("myObj") = Server.CreateObject("someObj")
%> 

时间: 2024-08-31 09:13:06

session的用法具体解说的相关文章

详解ASP.NET中Session的用法_实用技巧

      当用户在应用程序的页之间跳转时,存储在 Session 对象中的变量不会清除,而用户在应用程序中访问页面时,这些变量始终存在.当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象.当会话过期或被放弃后,服务器将终止该会话.        通过向客户程序发送唯一的 Cookie 可以管理服务器上的 Session 对象.当用户第一次请求 ASP 应用程序中的某个页面时,ASP 要检查 HTTP 头信息,查看是否有在报文中有

thinkPHP中session()方法用法详解_php实例

本文实例讲述了thinkPHP中session()方法用法.分享给大家供大家参考,具体如下: 系统提供了Session管理和操作的完善支持,全部操作可以通过一个内置的session函数完成. 用法 session(name,name,value='') 参数 name(必须):如果传入数组 则表示进行session初始化,如果传入null表示清空当前session,如果是字符串则表示session赋值.获取或者操作. Value(可选):要设置的session值,如果传入null表示删除sess

PHP Session 变量用法详解与实例教程

当您运行一个应用程序时,您会打开它,做些更改,然后关闭它.这很像一次会话.计算机清楚你是谁.它知道你何时启动应用程序,并在何时终止.但是在因特网上,存在一个问题:服务器不知道你是谁以及你做什么,这是由于 HTTP 地址不能维持状态. 通过在服务器上存储用户信息以便随后使用,PHP session 解决了这个问题(比如用户名称.购买商品等).不过,会话信息是临时的,在用户离开网站后将被删除.如果您需要永久储存信息,可以把数据存储在数据库中. 把手册抄一下,然后每个都试试然后写出来,方便自己查阅滴,

jsp编程中session的用法实例分析_JSP编程

本文实例讲述了jsp编程中session的用法.分享给大家供大家参考,具体如下: TTP协议是无状态的,即信息无法通过HTTP协议本身进传递.为了跟踪用户的操作状态,ASP应用SESSION对象.JSP使用一个叫HttpSession的对象实现同样的功能.HTTPSession 是一个建立在cookies 和URL-rewriting上的高质量的界面.Session的信息保存在服务器端,Session的id保存在客户机的cookie中.事实上,在许多服务器上,如果浏览器支持的话它们就使用cook

Session的用法

问题描述 asp.net中Session的用法我在做留言板的时候:要用户登陆后才可以留言,没登陆就提示还没登陆登陆后怎么把当前登陆的用户保存到数据库中哪个能给我一段完整的代码,谢呢喃 解决方案 解决方案二:保存到数据库中?这和Session有啥联系么?解决方案三:接楼主的地方问个问题,浏览网站的人有没有方法修改Session对象里面的值?(任何方法)解决方案四:普通人是不能修改Session的电视里面的超级高手估计能修改.解决方案五:引用2楼songjinxi123的回复: 接楼主的地方问个问题

thinkPHP中session()方法用法详解

本文实例讲述了thinkPHP中session()方法用法.分享给大家供大家参考,具体如下: 系统提供了Session管理和操作的完善支持,全部操作可以通过一个内置的session函数完成. 用法 session(name,name,value='') 参数 name(必须):如果传入数组 则表示进行session初始化,如果传入null表示清空当前session,如果是字符串则表示session赋值.获取或者操作. Value(可选):要设置的session值,如果传入null表示删除sess

Session,ViewState用法详细说明

数据类型: 但viewstate并不是能存储所有的.net类型数据,它仅仅支持string.integer.boolean.array.arraylist.hashtable 以及自定义的一些类型. 其他考虑 当然,任何事物都有两面性, 使用viewstate会增加页面html的输出量,占用更都的带宽,这一点是需要我们慎重考虑的. 另外, 由于所有的viewstate都是存储在一个隐藏域里面,用户可以很容易的通过查看源码来看到这个经过base64编码的值.然后再经过转换就可以获取你存储其中的对象

php中cookie和session的用法比较

  1.cookie数据存放在客户的浏览器上,session数据放在服务器上. 2.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session. 3.session会在一定时间内保存在服务器上.当访问增多,会比较占用你服务器的性能, 考虑到减轻服务器性能方面,应当使用COOKIE. 4.单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K. 例,COOKIE 如:setCookie('user','zha

jsp session的用法

session是使用bean的一个生存期限,一般为page,session意思是在这个用户没有离开网站之前一直有效,如果无法判断用户何时离开,一般依据系统设定,tomcat中设定为30分钟 <%@page import = "java.util.*" session="true"%> <HTML>     <HEAD>         <TITLE>Using Sessions to Track Users</T