方法
一般建立新的session对象都是采用set关键字,如<%set session("变量名称")=要赋的值。如果赋给session变量的是一个数组,则读取时需存放到数组中,因为系统是将其视为一个对象(object)。
1.5 Application
Global.asa是用于定义session、application和object对象的一个文件,客户端是不能看到该文件的。但该文件一定要放在程序的根目录上,而且文本中不能有html标记并且文件名不能改动。下面是一个Global.asa文本的范例。
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
'==Visual InterDev Generated - DataConnection startspan==
'--Project Data Connection
Session("nnb_ConnectionString") = "DSN=***;UID=zyr;APP=Microsoft (R) Developer
Studio;WSID=ZYR;DATABASE=***"
Session("nnb_ConnectionTimeout") = 15
Session("nnb_CommandTimeout") = 30
Session("nnb_RuntimeUserName") = "zyr"
Session("nnb_RuntimePassword") = "******"
'==Visual InterDev Generated - DataConnection endspan==
End Sub
</SCRIPT>
Application与session的区别在于,网上的用户都可以使用Application的对象,因而是需要加锁的;而session只是针对一个客户而已。如定义一个Application变量为Application("name")="1234"。
Asp的功能仅此而已?当然不是,Asp更高级的应用还包括它内建有一些ActiveX控件和可调用其它的控件等功能,暂不在本文讨论。如果希望获取更多的信息,可以访问下面的站点:
http://www.microsoft.com/asp
http://zyr.yeah.net
http://www.kj.com.tw
2.Asp的编程实例
为了使大家对上面提到的功能有一个感性的认识,下面我们将以一个非常简单的用asp编写的chatroom(交谈室)作为例子。为了尽量简化,我们这里只采用四个文件,一个是主文件main.asp和enter.asp(让用户输入用户名),一个是资料输入文件input.asp,一个是显示文件show.asp。原理是定义一个application变量show,然后每次有人说话,我们都把它加到前面;另外显示文件show.asp每三秒钟刷新一次,用于显示show变量.全部工作仅此而已,用其它语言或方法可能需要更复杂的工作,在这里则变得非常简单和明了。(这里没有使用Global.asa文件。)
2.1 main.asp文件
<%
if session("sname")="" then
response.redirect "enter.asp"
end if
;如果用户没有输入名字,则将重新回到名字输入界面
%>
<html>
<frameset rows="80%,20%">
<frame name="show" src="show.asp">
<frame name="input" src="input.asp">
<noframes>
<body>
<p>This page uses frames, but your browser doesn't support them.</p>
</body>
</noframes>
</frameset>
</html>
2.2 enter.asp文件
<%
nickname=request.form("nickname")
;读取用户输入的名字
if nickname="" then
msg=msg+"<font color='ff0000'>请输入您的名称</font><br>"
else
response.cookies("whoami")=nickname
;把用户名字写到cookies中
application.lock
application("show")="<table border=0 bgcolor='ccffcc' width='500'>" _
&"<td><font color='5555ff'><b>来至" & request.servervariables("remote_addr") _
& "的" & request.cookies("whoami") & "大驾光临...</b></font></td>" _
& application("show")
; _是分隔符,与VB一样
application.unlock
session("sname")=nickname
response.redirect "main.asp"
end if
%>
<html>
<body>
<form method="POST" action="enter.asp">
你的姓名:
<input type="text" name="nickname" size="20" maxlength="10">
<input type="submit" value="进入聊天室" name="B1">
</form>
</body>
</html>
2.3 show.asp文件
<html>
<head>
<meta http-equiv="refresh" content="3">
;设置每三秒钟刷新一次
<meta name="Microsoft Border" content="none">
<title>聊天的内容</title>
</head>
<body bgcolor="#FFFFFF">
<%=application("show")%>
</body>
</html>
2.4 input.asp文件
<%
mytalk=trim(request.form("txtbox"))
;读取用户写的信息,trim用于去掉后面的空格
application.lock
application("show")="<font color=ff0000 ><b>" & request.cookies("whoami") & _
"</b></font>:" & mytalk & "<br>" & application("show")
;把新的信息添加到application变量show的前面,其中request.cookies("whoami")是从
;cookies中读出该用户的名字。
application.unlock
%>
<html>
<head>
<meta name="Microsoft Border" content="none">
<base target="input">
<title>输入界面</title>
</head>
<body bgcolor="#FFFFFF">
<form method="POST" action="input.asp" target="input">
<p><font color="red"><%=request.cookies("whoami")%></font>
输入:<input type="text" name="txtbox" size="30">
<input type="submit" value="发送" name="go">
</form>
</body>
</html>
关键词:Asp(Active Server Page)的语言特征 (转)