6.3.5 Application对象
Application对象可以用来记录某些信息,这些信息可以被当前站点的所有客户端的所有网页使用和修改。Application对象与Session对象的使用方法相似,但Application对象的作用域比Session对象要广。我们可以把变量、字符串等信息保存在Application对象中。
Application对象是所有的客户机所共用的对象,当两个或多个用户同时修改一个Application对象的某个值时,就可能发生想不到的错误。Application对象采用两个特殊的方法来避免这种错误:Lock和Unlock(锁定和解除锁定)。当某一客户端要修改Application对象的值时,先锁定Application对象,再修改,修改完后解除锁定。请看下面的例子。
<%
Application.Lock
Application("hits")=Application("hits")+1
Application.Unlock
%>
再来看一个简单的例子,使用Application设计一个简单的留言板(见图6-28)。
------------------------清单6-23 6-23.asp -------------------------
<html>
<head>
<title>Application留言板</title>
</head>
<body>
<form name="form1" method="post" action="">
姓 名:
<input name="userName" type="text" id="userName" size="12">
留言内容:
<input name="LiuYan" type="text" id="LiuYan" value="" size="30">
<input type="submit" name="Submit" value="提交">
</form>
<%
dim str 'str中存储留言时间、姓名、内容等信息
if request.Form("userName")<>"" and request.Form("LiuYan")<>"" then
str=Time()&request.Form("userName")&"说: "
str=str&request.Form("LiuYan")&"<br>"
Application.Lock
Application("bbs")=str&Application("bbs")
Application.Unlock
str=Null
end if
Response.write Application("bbs")
%>
</body>
</html>
--------------------------------------------------------------------
图6-28 留言板
在6-23.asp中,Application("bbs")用来保存所有用户的留言信息,并且显示出来。在程序中有一个条件语句:if…then,这里条件为表单中的两个文本字段都不为空时,就执行下面的语句:①把用户留言的时间、笔名和留言内容加入到Str变量中;②把str加入到Application("bbs")中去。其中加了一个<br>是为了将每一次留言内容都换行显示。
Application对象从建立起就会存在,一直到服务器重新启动或取消当前站点Web服务才消失,但它还是不能长久地保存某些信息。一般说来,要长久地保存某些信息,必须把这些信息保存在数据库或文件里面,第7章里将会学到。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。