创建显示页

最后需要创建一个显示这些信息的页面，这个页面将所有的访问者提交的信息显示出来。这个页面每隔5秒钟自动刷新，这使用了客户段牵引请注意这里面HTML的<META>标记所包含的语句，（在Active Server Page中添加一个Refresh的Header）

下面的第一个脚本用来确认当前ASP文件的全部URL地址，这里面还是使用了ServerVariable集合并将得到的全部路径加文件名赋值给MySelf的变量。这个变量就用于在<META>标记包含的语句中指示更新的文件名称及路径。

后面的主要脚本用来显示Talk队列，即所有人发送的信息，这里面用的是For

…Next循环（见图17.4）。例子17.3是显示页的全部Active Server Pages代码。

例17.3:

<%

MyServer=Request.ServerVariables(

“SERVER_NAME”)

MyPath=Request.ServerVariables(

“SCRIPT_NAME”)

MySelf=

”Http://”&MyServer&MyPath

%>

<HTML>

<HEAD>

<META HTTP-EQUIV=

”REFRESH” CONTENT=”5;<%=MySelf%>”>

<TITLE>迈至科聊天室应用示例之显示页</TITLE>

</HEAD>

<BODY>

<P Align=Right><%=NOW%></P>

<%

TempArray=Application(

“Talk”)

For i=0 to Application(

“Talk”)-1

Response.Write(

“<p>”&Temparray(i))

NEXT

%>

</BODY>

</HTML>

图17.4 显示页

这样，就可以每隔5秒钟将队列中的消息显示一遍，达到近似于实时交流的目的。

扩展聊天室项目

有很多种方法可以使这种聊天室更加完备，比如说，现在每次只能显示5个信息，那么如果访问者比较多，这就很不够了，因此你可以在最初的Global.asa中将TempArray队列设得大一些，然后在发送信息页相应部分进行修改其限制数目。

这个聊天室的信息发送显然是允许HTML格式的，当然，你可以替访问者考虑一些，比如说，用CheckBox来允许访问者选择自己喜欢的信息发送颜色。

最后，相当重要的是，用户发送的信息应当含有用户代号，不过，这也并不困难，还记得Session变量是干什么的吗？给每个用户登录时创建一个Session变量记录其代号，然后每次信息发送时连同该Session变量一同发送。

注意

本书的很多例子都可以在http://aspsite.com中找到。