ASP编程入门进阶(八):内置对象Session(2)



二、Session.TimeOut
该属性设置的Session的最大间隔时间。间隔时间是指客户器端从最近一次向Web服务器提出要求,到下一次向Web服务器提出要求的时间。可以理解为:如果用户在该超时时限之内不刷新或请求网页,则该会话将终止。Timeout 属性是以分钟为单位,为该应用程序的Session对象指定超时时限的,一般默认为20分钟。这在网吧等公共场所,登录个人信息页而忘记关闭窗口时,显得比较重要(至少可以把时间设短些)。


<%Session.TimeOut=10%>


以上SessionId、TimeOut属于Session对象的两个属性,下面看该对象的一个方法Abandon

三、Session.Abandon
该方法是Session对象的唯一方法,可以清除Session对象,用来消除用户的Session对象并释放其所占的资源。当然你如果没有明确调用Abandon方法,一旦会话超时,服务器也会将删除这些对象并释放资源。
下面就用两个页的程序来认识Session对象以及Abandon方法的利用。

1,login.asp


<%
'是提取url中变量loginout的值是否为true,若为真,就执行Session.Abandon()。
if Request.QueryString("loginout")="true" then
Session.Abandon()
end if

'只有在当点击了submit按钮的前提下,再来判断提取的东西都不为空,则建立Session对象。
submitname=request.form("submit1")
if submitname="submit" then
if Request.Form("name")<>"" and Request.Form("pwd")<>"" then
Session("name")=Request.Form("name")
Session("pw")=Request.Form("pwd")
end if
end if
%>
<%
'如果Session("name")不为空,则显示Session("name")的值,并且做一个到info.asp的链接。
if Session("name")<>"" then
response.write("你的name值是:"&Session("name"))
response.write("<br><a href='info.asp'>显示你的资料</a>")
else

'否则,即Session("name")为空不存在,则显示表单用以输入建立Session的平台。
%>
<form action="login.asp" method="post">
姓名:<input type="text" name="name"><br>
密码:<input type="password" name="pwd"><br>
<input type="submit" value="submit" name="submit1">
</form>
<!--同样做了一个到info.asp的链接。-->
<a href="info.asp">显示你的资料</a>
<%end if%>



注意Session("name")为空和不为空的时候,都做了一个到info.asp的链接,具体调试结果如何,再来看info.asp的内容。

2,info.asp


<%
'如果session对象值为空则跳转到login.asp
if session("name")="" then
    Response.Redirect("login.asp")
'否则就显示个人信息
else
    Response.Write("你的姓名:"&session("name")&"<br>")
    Response.Write("你的密码:"&session("pw")&"<br>")
end if
%>
<a href="login.asp">返回</a>
<a href="login.asp?loginout=true">退出</a>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/3386.html