常常逛WWW的人,一定对许多起始页上的计数器感兴趣。每当你光临某个站点的起始页时,它的计数器就很亲切地告诉你,从某年某月某日开始,你是第几位光临的人。你可能也想在自己的HomePage内做计数器,有很多方法来实现此功能, 我这里给大家一个用FoxWeb实现的CGI计数器。
1.首先用Visual FoxPro写一个CGI程序qywjs.prg,如下:
*qywjs.prg 计数器CGI程序
PROCEDURE qywjs
clear
km="h:wwwqywjsqywjs.dbf"
&&存计数器计数值库
use &km
repl js with js+1
&&更新计数值
MSTRING=str(js,6)+CHR(13)+CHR(10)
&&将数据输出存入变量
use
MSTRING="CONTENT-TYPE:TEXT/plain"+CHR(13)+CHR(10)
+CHR(13)+CHR(10)+MSTRING
*CONTENT-TYPE:TEXT/plain
是FoxWeb的CGI程序输出数据第一行格式
HTML_OUT=MERGETXT(MSTRING)
&&将数据输出,既通过WWW服务器将数据输出
RETURN
注:qywjs.dbf数据库只有一个字段,字段名:js;类型:数值型;长度:6 。
2.在起始页上,我们只要附上一个JavaApplet就可以取得目前计数器的值,JavaApplet程序如下:
/*qywjs.Java*/
import Java.awt.*;
import Java.net.*;
import Java.io.*;
public class qywjs extends Java.applet.Applet
{
Font fn=new Font("TimesRoman",Font.BOLD,14);
/*设置显示字体及大小*/
String count_str; /*存计数器的值*/
public void init() /*初始*/
{
try
{
URL bookURL=new URL
@h:wwwqywjsqywjs.PRG"); /*调入CGI程序*/
DataInputStream book_is;
book_is=new DataInputStream(bookURL.openStream());
count_str=book_is.readLine(); /*读入计数值*/
book_is.close();
repaint();
}
catch (MalformedURLException mfURLe)
catch (IOException ioe)
}
public void paint(Graphics g) /*显示*/
{g.setFont(fn);
g.setColor(Color.blue);
g.drawString("从2007年06月05日开始,
你是第 "+count_str+" 位用户光临!",16,16);
}
}
3.最后在自己的起始页HTML文件中加入如下程序段就行了。
< !对外首页 2007/6/5 >
< HTML >
< HEAD >
。。。。。。
。。。。。。
< BODY >
。。。。。。
< APPLET CODE="qywjs.class"
WIDTH=200 HEIGHT=40 >< /APPLET >
。。。。。。
< /BODY >
。。。。。。
。。。。。。
< /HTML >
以上程序在HP NetServer 5/100LH上调试通过,开发环境JavaCAFE ver:1.5。