大庆采油六厂采油工艺研究所 王兵 王波
经常逛WWW的人,一定对许多起始页上的计数器感爱好。每当你光临某个站点的起始页时,它的计数器就很亲切地告诉你,从某年某月某日开始,你是第几位光临的人。你可能也想在自己的HomePage内做计数器,有很多方法来实现此功能, 我这里给大家一个用FoxWeb实现的CGI计数器。
1.首先用Visual FoXPro写一个CGI程序qywjs.prg,如下:
*qywjs.prg 计数器CGI程序
PROCEDURE qywjs
clear
km="h:\www\qywjs\qywjs.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
("http://10.65.76.64/scripts/foxweb.exe/qywjs
@h:\\www\\qywjs\\qywjs.PRG"); /*调入CGI程序*/
DataInputStream book_is;
book_is=new DataInputStream(bookURL.openStream());
count_str=book_is.readLine(); /*读入计数值*/
book_is.close();
repaint();
}
catch (MalformedURLException mfURLe)
{System.out.println("MalformedURLException:"+mfURLe);}
catch (IOException ioe)
{System.out.println("IOException:"+ioe);}
}
public void paint(Graphics g) /*显示*/
{g.setFont(fn);
g.setColor(Color.blue);
g.drawString("从1998年03月10日开始,
你是第 "+count_str+" 位用户光临!",16,16);
}
}
3.最后在自己的起始页HTML文件中加入如下程序段就行了。
< !对外首页 1998/3/2 >
< HTML >
< HEAD >
。。。。。。
。。。。。。
< BODY >
。。。。。。
< APPLET CODE="qywjs.class"
WIDTH=200 HEIGHT=40 >< /APPLET >
。。。。。。
< /BODY >
。。。。。。
。。。。。。
< /HTML >
以上程序在HP NetServer 5/100LH上调试通过,开发环境JAVACAFE ver:1.5。