国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

動態網頁技術--CGI:ASP:JSP:PHP(1)

2019-11-18 22:04:15
字體:
來源:轉載
供稿:網友
稍為對網絡有點熟悉的人都知道,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技術。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 晋州市| 策勒县| 平陆县| 潞西市| 贵溪市| 宿州市| 柳江县| 太白县| 枣强县| 海淀区| 慈利县| 连江县| 中山市| 恭城| 遂昌县| 青铜峡市| 宝丰县| 金川县| 顺昌县| 科技| 广宁县| 岐山县| 旬邑县| 安阳市| 年辖:市辖区| 拜泉县| 庆阳市| 海原县| 古丈县| 进贤县| 永吉县| 广安市| 浑源县| 普定县| 涪陵区| 长丰县| 清镇市| 泾源县| 齐河县| 高阳县| 芦山县|