您的位置:首页网页设计ASP文摘 → 动态网页技术--CGI:ASP:JSP:PHP1

动态网页技术--CGI:ASP:JSP:PHP1

时间:2004/11/7 3:05:00来源:本站整理作者:蓝点我要评论(0)

稍为对网络有点熟悉的人都知道,HTML是编制网页的基本语言,但它只能用于静态的网页。当今的Web已经不再是早期的静态信息发布平台,它已被赋以更丰富的内涵。现在,我们不仅需要Web提供所需的信息,还需要提供可个性化搜索的功能,可以收发email,可以进行网上销售,可以从事电子商务等等。为实现以上功能必须使用更新的网络编程技术制作动态网页。所谓动态,指的是,按照访问者的不同需要,对访问者输入的信息作出不同的响应,提供响应的信息。笔者根据自己的实际使用经历,写下心得感受,并举例说明。

  动态网页技术的原理是:使用不同技术编写的动态页面保存在WEB服务器内,当客户端用户向WEB服务器发出访问动态页面的请求时,WEB服务器将根据用户所访问页面的后缀名确定该页面所使用的网络编程技术,然后把该页面提交给相应的解释引擎;解释引擎扫描整个页面找到特定的定界符,并执行位于定界符内的脚本代码以实现不同的功能,如访问数据库,发送电子邮件,执行算术或逻辑运算等,最后把执行结果返回WEB服务器;最终,WEB服务器把解释引擎的执行结果连同页面上的HTML内容以及各种客户端脚本一同传送到客户端。虽然,客户端用户所接收到的页面与传统页面并没有任何区别,但是,实际上页面内容已经经过了服务端处理,完成了动态的个性化设置。目前实现动态网页主要有以下4种技术。

1.CGI技术

  CGI ---Common Gateway Interface,公用网关接口。它可以称之为一种机制。因此您可以使用不同的程序编写适合的CGI程序,如Visual Basic、Delphi或C/C++等,您将已经写好的程序放在WEB服务器的计算机上运行,再将其运行结果通过WEB服务器传输到客户端的浏览器上。我们通过CGI建立WEB页面与脚本程序之间的联系,并且可以利用脚本程序来处理访问者输入的信息并据此作出响应。事实上,这样的编制方式比较困难而且效率低下,因为你每一次修改程序都必须重新将CGI程序编译成可执行文件。

  最常用于编写CGI技术的语言是Perl(Practical Extraction and Report Language,文字分析报告语言),它具有强大的字符串处理能力,特别适合用于分割处理客户端Form提交的数据串;用它来编写的程序后缀为.pl。

我们来看个简单的例子hello.pl:

#!/usr/bin/perl

$Hello="Hello,CGI"; #字符串变量;

$Time=2;

print $Hello," for the",$Time,"nd time!","\n"; #输出一句话;

# End hello.pl

输出结果:

Hello,CGI for the 2nd time!

  程序中第一个注释行具有特殊的含义,它是UNIX系统中shell的一条指令,表示在命令行上运行其后的命令。第一行是必需的,/usr/bin/perl提供了Perl解释器的完整路径名。例中的井号(#)为Perl语言中的注释字符。P erl技术参考站点:http://www.perl.com。

  CGI调用数据库需要安装DBI----DataBase Interface,即数据库接口技术。DBI提供了基于Perl的标准界面连接到各种不同的SQL引擎上。各种数据库的DBI模块可在此找到:http://www.perl.com/CPAN-local/modules/by-module/DBI/。以下是连接ORACLE数据库的一个例子:

use DBI; #调用DBI;

#以下三项是数据库名,调用数据库的用户名,密码;

$dbname="dbi:Oracle:DBName";

$user="user";

$pass="pass";



#联系数据库

$dbh=DBI->connect($dbname,$user,$pss) || die "Error Connecting to database \n";



#数据库查询;

$tag=$dbh->prepare("SELECT * FROM 表名");

$tag->execute; #执行查询;

die "Error:$DBI::err\n" if DBI::err; #出错判断;

my($col1,$col2); #定义只在本程序中(用my来表示)有效的两个变量;

while(($col1,$col2)=$tag->fetchrow) {

print "Column 1:$col1\n";

print "Column 2:$col2\n";

}

$dbh->disconnect or warn "Disconnection failed \n"; #断开与数据库的连接;

CGI技术已经发展的很成熟了,功能强大,例如SINA,NETEASE,SOHU等网站的搜索引擎,用的就是CGI技术。






相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 没有查询到任何记录。 用不着妄自菲薄 对ASP和ASP程序员的一些话技术分析:.NET的优势与劣势代码大战:哪种语言会赢得开发的霸权?IIS 5.1和IIS 6.0一些显著的重要区别

人气排行 微软提供的功能强大的ASP-HTML转换工具.它将用ASP技术实现在WEB网页上浏览目录及文件从VB 6.0到VB.NET的转换2从VB 6.0到VB.NET的转换5IIS 5.1和IIS 6.0一些显著的重要区别从VB 6.0到VB.NET的转换1将.Net应用移植到Linux上来的Mono工程Serv-U :快速构建功能强大的FTP 服务器