作者:心动吧明生KISS
玩到session的时候看了一下一句话的写法。觉得session还是非常的简单的。请自己看例子吧。下面有详细的介绍
session 有一个集合 二个属性(timeut和sessionid) 一个方法(abandon)
示例图

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<%
xx=request.form("radiobutton")
xxx=request.querystring("out")
if xxx="清空" then
session.abandon '清空session
end if
if xx="setsession" then
session("心动吧用户名")=request.form("user") '设置session的值
session("心动吧密码")=request.form("pass") '同上
session.Timeout=10 '设置session的时间只有10分钟寿命
end if
if request.form("user")="" then
%>
<form method="post" name="form1" action="">
<p>
用户名: <input name="user" type="text" />
密 码: <input name="pass" type="text" />
<input name="提交" type="submit"/>
</p>
<p>
<label>
<input type="radio" name="radiobutton" value="setsession" />
session创建</label>
</p>
</form>
<%
else
response.write "你已经登录,你的帐号: " & session("心动吧用户名") & " 密码: " & session("心动吧密码")
response.write "<br>你的sessionID: " & session.sessionid
response.write "<br><a href=?out=清空>清空session</a>"
end if%>
</body>
</html>
session与cookies集合的相同点与不同点。
| 相似处——功能 | 不同处——存储位置 |
| session与cookies都可以用来保存用户的数据,或者是跟踪用户,也就是存储或跟踪用户数据。 | session存储在服务端 cookies存储在客户端的机器里 |
session与cookies的关系与特点:
有很多的商业网站,它们的购物功能都是通过session功能实现的。因为session数据存储在服务端后,相对于将数据存储在客房端的cookies来说,是比较安全的,在asp的默认设置里,session每次访问网页就自动建立的,而cookies是通过代码来建立的。
可以用session来实现与cookies基本一样的功能。(注:如果客户端禁用了cookies,session也不能使用。)
功能相似,却不可以用cookies来实现购物车的功能,是因辚session要比cookies安全,session存储在服务端,而cookies存储在客户端,要想改变客户端的信息很容易,但想改变服务端的信息是很难的,因此session是安全的。
cookies有一个使用范围,cookies默认在整个站点的所有页面都可以访问的,session也是这样的。
当一个session变量被建立后,如果没有超时或是人为删除的话,可以在站点内的其它页面里使用它。如我们在一个购物网站里购买商品,在不同的页面进行选择,最后都有能存放在购物车里,这样的功能就是使用了session这个特性。
在asp里使用session变量很简单,只要创建一个session变量就可以了。
创建session
session(”esession名”)=值
例: <%session(“bookname”)多媒体教程”%>=”fif asp
创建一个名为bookname的session变量 给它赋值
获取session的值
变量=session(”esession名”)
例: <%book=session(“bookname”) %>
| 还可以把一个数组放在session变量里: | |
| 1.asp | 2.asp |
| <% dim content(4) session(“title”)=”静夜思” content(1)=”床前明月光” content(2)=”疑是地上霜” content(3)=”举头望明月” content(4)=”低头思故乡” session(“content”)=content %>保存 | <% response.write (session (“title”)&”<br>”) content=wession(“content”) for i=1 to 4 response.write (content(i)&”<br>”) next %> 保存 |
| 用浏览器访问在1.asp中建立了2个session变量,一个存储的是标题,一个是用数组来存储诗的内容. | 用浏览器访问2.asp这个文件输出1.asp中的session变量.用法基本和cookies是一样的. |
我们还可以通过CONTENT集合获得SESSION中存储的信息.
| 1、 变量=session。contents(“session名”) | 如:t=session。contents(“title”) |
| 2、 变量=session(“session名”) | t=session(“title”) |
以上这两种方法产生的效果是一样的,都是获取session变量的值,两条语句的作用完全一样的。
session常用的两个属性:
1、 sessionID
sessionID是每个session的代码,它是由服务器产生的
使用方法:
长整数变量=session.sessionID
2、 timeout
timeout属性主国是用来设置session失效时间,它和cookies的expires属性类似。timeout是以分钟为单位的。
用法:session.timeout=分钟数
例如:让一个session在30分钟失效。
session.timeout=30
失效时间?
指对web服务器的一次访问到另一次访问的间隔时间,如果两面三刀次访问超出了这个时间,当前的session会失效,session中存储的信息也被删除了.
,建议不要设置很长的失效时间,设置一个全适的失效时间使程序更加安全,而且可以减少消耗服务器资源,
session是存储在服务端的,可能会消耗很多服务器端的资源,timeout默认的值是20分钟.
aband方法:
如果在session还没有过期的时候就想删除它就可以使用:
session.abandon方法
使用方法:
一旦这条语句被执行,所有存储在sesion对象中的信息,将被子删除。这与session超时效果是一样的。
原创文章如转载,请注明:转载自心动吧黑客BLOG [ http://www.abcxd.com/abcxd/ ]
本文链接地址:http://www.abcxd.com/abcxd/abcxdArticle/asp/session.html