您的網(wǎng)站是否仍一如既往地保持“靜態(tài)”?目前呈幾何增長(zhǎng)的互聯(lián)網(wǎng)網(wǎng)站中,有相當(dāng)一部分仍固守“靜態(tài)”,無(wú)形中已大大落后于時(shí)代的步伐。所謂“靜態(tài)”指的就是網(wǎng)站的網(wǎng)頁(yè)內(nèi)容“固定不變”,當(dāng)用戶瀏覽器通過(guò)互聯(lián)網(wǎng)的HTTP(Hypertext Transport Pr otocol)協(xié)議向WEB服務(wù)器請(qǐng)求提供網(wǎng)頁(yè)內(nèi)容時(shí),服務(wù)器僅僅是將原已設(shè)計(jì)好的靜態(tài)HTML文檔傳送給用戶瀏覽器。其頁(yè)面的內(nèi)容使用的僅僅是標(biāo)準(zhǔn)的HTML代碼,最多再加上流行的GIF89A格式的動(dòng)態(tài)圖片,比如產(chǎn)生幾只小狗小貓跑來(lái)跑去的動(dòng)畫(huà)效果。若網(wǎng)站維護(hù)者要更新網(wǎng)頁(yè)的內(nèi)容,就必須手動(dòng)地來(lái)更新其所有的HTML文檔。
“靜態(tài)”網(wǎng)站的致命弱點(diǎn)就是不易維護(hù),為了不斷更新網(wǎng)頁(yè)內(nèi)容,你必須不斷地重復(fù)制作HTML文檔,隨著網(wǎng)站內(nèi)容和信息量的日益擴(kuò)增,你就會(huì)感到工作量大得出乎想象。
你不禁要問(wèn):那么什么是動(dòng)態(tài)網(wǎng)站呢?這就是本文將重點(diǎn)講述的核心,所謂“動(dòng)態(tài)”,并不是指那幾個(gè)放在網(wǎng)頁(yè)上的GIF動(dòng)態(tài)圖片,在這里筆者為動(dòng)態(tài)頁(yè)面的概念制定了以下幾條規(guī)則:
1、“交互性”即網(wǎng)頁(yè)會(huì)根據(jù)用戶的要求和選擇而動(dòng)態(tài)改變和響應(yīng),將瀏覽器作為客戶端界面,這將是今后WEB發(fā)展的大事所趨。
2、“自動(dòng)更新”即無(wú)須手動(dòng)地更新HTML文檔,便會(huì)自動(dòng)生成新的頁(yè)面,可以大大節(jié)省工作量。
3、“因時(shí)因人而變”,即當(dāng)不同的時(shí)間、不同的人訪問(wèn)同一網(wǎng)址時(shí)會(huì)產(chǎn)生不同的頁(yè)面,是不是很酷?
現(xiàn)在你已經(jīng)對(duì)“動(dòng)態(tài)”網(wǎng)站有了一個(gè)基本的概念,接下來(lái)應(yīng)挑選稱手的“兵刃”了。將網(wǎng)站“動(dòng)態(tài)”化的方法很多,這要看你是出于何種需求。如果你是個(gè)人網(wǎng)站的維護(hù)者,使用的是免費(fèi)主頁(yè)空間,那么絕大多數(shù)情況下你只能使用Java、Java Script和最新的DHTML技術(shù),如果你的主頁(yè)空間提供者能給予你CGI權(quán)限或ASP支持,那么你將能非常幸運(yùn)地發(fā)揮真正的動(dòng)態(tài)技術(shù)。關(guān)于CGI和ASP技術(shù)將在后面的著重討論,這里針對(duì)個(gè)人網(wǎng)站僅就最新的DHTML技術(shù)進(jìn)行重點(diǎn)介紹。
究竟什么是DHTML?它與傳統(tǒng)的HTML有什么不同?DHTML就是當(dāng)網(wǎng)頁(yè)從WEB服務(wù)器后無(wú)須再經(jīng)過(guò)服務(wù)器的處理,而在瀏覽器中直接動(dòng)態(tài)地更新網(wǎng)頁(yè)的內(nèi)容、排版樣式、動(dòng)畫(huà)。比如,當(dāng)鼠標(biāo)移至文章段落中,段落能夠變成藍(lán)色,或者當(dāng)你點(diǎn)擊一個(gè)超鏈后會(huì)自動(dòng)生成一個(gè)下拉式的子超鏈目錄。這就是Dynamic HTML(動(dòng)態(tài)HTML),它是近年來(lái)網(wǎng)絡(luò)飛速發(fā)展進(jìn)程中最振奮人心也是最具實(shí)用性的創(chuàng)新之一。它是一種通過(guò)各種技術(shù)的綜合發(fā)展而得以實(shí)現(xiàn)的概念,這些技術(shù)包括Java Script , VB0Script, Document Object Model (文件目標(biāo)模塊),Layers和Cascading Style Sheets ( CSS樣式表)等。非常遺憾的是在網(wǎng)景Netscape和微軟IE瀏覽器幾番大戰(zhàn)后,我們?nèi)詻](méi)有得到一個(gè)對(duì)DHTML支持的統(tǒng)一標(biāo)準(zhǔn)。因此本文在介紹DHTML時(shí)不得不分別講述。讓我們先來(lái)看看Microsoft IE 4對(duì)DHTML的支持:
1 .動(dòng)態(tài)內(nèi)容(Dynamic Content):動(dòng)態(tài)地更新網(wǎng)頁(yè)的內(nèi)容,可"動(dòng)態(tài)"地隨時(shí)插入、修改、或刪除網(wǎng)頁(yè)的元件,譬如文字、標(biāo)記等。
2 .動(dòng)態(tài)排版樣式(Dynamic Styles Sheets):通過(guò)W3C的“Cascading Style Sheets”(串聯(lián)式排版樣式,簡(jiǎn)稱CSS1或CSS),提供了設(shè)定HTML標(biāo)記的字體大小、字型、粗細(xì)、字型樣式、行高度、文字顏色、加底線或加中間橫線、與邊緣距離、靠左右或置中、縮排、背景圖片或顏色等排版功能。而“動(dòng)態(tài)排版樣式”,可以“動(dòng)態(tài)”地隨時(shí)地改變排版樣式。
3 .動(dòng)態(tài)定位(Dynamic Positioning):通過(guò)W 3 C的“Working Draft on Positioning HTML with Cascading Style Sheets”,提供HTML元件在X、Y、Z軸的定位功能,讓設(shè)計(jì)者可以放置影像、控件、文字等在網(wǎng)頁(yè)上的任何位置上。而放置在不同的Z軸上,設(shè)計(jì)者就可以產(chǎn)生重疊的效果。
4 .內(nèi)建資料處理(Data Awareness):無(wú)須復(fù)雜的程序,無(wú)須花費(fèi)服務(wù)器太多資源,即可讓網(wǎng)頁(yè)設(shè)計(jì)者即時(shí)處理文檔。
5 .內(nèi)建多媒體支援:IE 4.0結(jié)合CSS與內(nèi)建的ActiveX Controls,提供多媒體支持的功能,包括轉(zhuǎn)換特效、濾鏡特效、路徑控制、順序控制、動(dòng)畫(huà)、制圖、播放聲音和影像等多媒體功能。
讓我們?cè)賮?lái)看看Netscape Communicator 4.0對(duì)DHTML所提供的支持:
1 .動(dòng)態(tài)排版樣式(Dynamic Styles Sheets):支援W 3 C的“Cascading Style Sheets”(串聯(lián)式排版樣式,簡(jiǎn)稱CSS1或CSS)、和自創(chuàng)的“Java Script Style Sheets”。
2 .Dynamic Layers:提供圖文定位、改變圖文重疊順序、控制隱藏或顯示圖文、移動(dòng)圖文的功能,讓您設(shè)計(jì)出“動(dòng)畫(huà)”的效果!
3 .Dynamic Fonts:提供由服務(wù)器字型的功能??梢?jiàn)雖然IE 4.0和Netscape Communicator 4.0都提供了“Dynamic HTML”的支持,但是事實(shí)上兩者除了對(duì)“Cascading Style Sheets”的規(guī)格相近外,其余都相差甚遠(yuǎn)。因此當(dāng)你設(shè)計(jì)DHTML頁(yè)面時(shí)必須充分考慮到兼容性的問(wèn)題,選擇稱手的“兵刃”和方法對(duì)于設(shè)計(jì)者來(lái)說(shuō)始終是最重要的。有關(guān)DHTML的使用方法和設(shè)計(jì)技巧作者將在第二章《動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)十八般武藝》中仔細(xì)講解,請(qǐng)密切關(guān)注。
或許對(duì)于一個(gè)個(gè)人網(wǎng)站來(lái)說(shuō)充分運(yùn)用DHTML技術(shù)足以令網(wǎng)頁(yè)栩栩如生,動(dòng)感十足。然而對(duì)于建立商業(yè)網(wǎng)站的企業(yè)而言,僅僅擁有DHTML是遠(yuǎn)遠(yuǎn)不夠的。因?yàn)閮H僅發(fā)生在客戶瀏覽器端的動(dòng)態(tài)效果是無(wú)法滿足商業(yè)網(wǎng)站大量信息查詢,客戶咨詢,資源交互等“動(dòng)態(tài)”需求的。因此作為商業(yè)網(wǎng)站的設(shè)計(jì)者,必須要設(shè)計(jì)出更具實(shí)用性和交互性的“動(dòng)態(tài)”網(wǎng)站。由于絕大多數(shù)商業(yè)網(wǎng)站都具有大量的數(shù)據(jù)和信息,而建網(wǎng)的初衷也就是在于方便客戶查詢企業(yè)資料,方便同客戶的交流,及時(shí)獲得信息反饋。那么,就必然會(huì)面臨如何讓使用者在瀏覽器界面中,通過(guò)互聯(lián)網(wǎng)或內(nèi)聯(lián)網(wǎng)(Intranet)查詢WEB數(shù)據(jù)庫(kù)的資料,甚至輸入、更新和刪除WEB服務(wù)器上的資料。下面筆者就簡(jiǎn)單介紹幾種常用的“動(dòng)態(tài)”網(wǎng)站設(shè)計(jì)方法:
1、CGI(Common Gateway Interface)通用網(wǎng)關(guān)接口的傳統(tǒng)方式,當(dāng)用戶在瀏覽器端填好表單(form)要求輸入的資料,提出HTTP請(qǐng)求后,WEB服務(wù)器端將執(zhí)行一個(gè)表單所設(shè)定的可執(zhí)行的CGI應(yīng)用程序,CGI程序分析表單(form)中所輸入的資料,存取WEB數(shù)據(jù)庫(kù),將查詢執(zhí)行的結(jié)果以HTML的格式返回給瀏覽器。使用CGI方式存取WEB數(shù)據(jù)庫(kù),有很多的缺點(diǎn),譬如不易開(kāi)發(fā)、變更修改成本高、功能有限、不易偵錯(cuò)、執(zhí)行速度慢等,而且由于并非整合于HTML文檔之中,因此必須使用與HTML完全不同的設(shè)計(jì)過(guò)程來(lái)設(shè)計(jì)一個(gè)可執(zhí)行的應(yīng)用程序。
2、IDC(Internet Database Connector)互聯(lián)網(wǎng)數(shù)據(jù)庫(kù)連接頭是Windows NT Server內(nèi)含Internet Information Server(簡(jiǎn)稱IIS)2.0的特征之一,它提供了一種使你的互聯(lián)網(wǎng)數(shù)據(jù)庫(kù)內(nèi)容得以發(fā)布并可與用戶交互的方法,它實(shí)際上是一個(gè)包含于IIS中的I S A P I應(yīng)用程序。你只需掌握HTML和SQL的基本知識(shí)并寫(xiě)為數(shù)不多的代碼就能編出具有交互能力的數(shù)據(jù)庫(kù)應(yīng)用程序,讓使用者在瀏覽器界面中得以查詢、輸入、更新、和刪除WEB服務(wù)器上的數(shù)據(jù)資料。正如VB程序員所喜歡的那樣,構(gòu)成IDC應(yīng)用程序的文件是解釋性的,由于設(shè)計(jì)簡(jiǎn)易,只要準(zhǔn)備兩個(gè)檔案,即可在用戶端的瀏覽器中存取WEB服務(wù)器的數(shù)據(jù)資料,且無(wú)須編譯,因此具有快速的開(kāi)發(fā)循環(huán)和反饋。但這種簡(jiǎn)單性的代價(jià)是犧牲了許多靈活性,使你不得不放棄許多對(duì)用戶接口的控制,并幾乎放棄了所有驗(yàn)證數(shù)據(jù)的能力。因而I D C僅適用于簡(jiǎn)單的WEB應(yīng)用程序。
3、ActiveX Data Object(ADO)是WEB數(shù)據(jù)庫(kù)應(yīng)用的最佳選擇。
ActiveX Data Object(簡(jiǎn)稱ADO)究竟是什么呢?ActiveX Data Object的技術(shù),讓您可以與Active Server Pages(簡(jiǎn)稱ASP)結(jié)合以建立提供數(shù)據(jù)資訊的網(wǎng)頁(yè)內(nèi)容,只需在網(wǎng)頁(yè)面中執(zhí)行Structured Query Language(結(jié)構(gòu)化查詢語(yǔ)言,簡(jiǎn)稱SQL)指令,讓用戶在瀏覽器界面中輸入、更新、和刪除WEB服務(wù)器上的數(shù)據(jù)資料。當(dāng)用戶端的瀏覽器填好表單所要求輸入的資料并按下“Submit”按鈕后,經(jīng)過(guò)互聯(lián)網(wǎng)、內(nèi)聯(lián)網(wǎng)傳送HTTP請(qǐng)求到WEB服務(wù)器,該請(qǐng)求在WEB服務(wù)器執(zhí)行一個(gè)表單所指定的Active Server Pages程序(后綴名為. ASP的文檔)。一個(gè). ASP文檔是一個(gè)純文字檔,包括:HTML標(biāo)記(tags)、VBScript或JScript語(yǔ)言的程序代碼、ASP語(yǔ)法、和結(jié)構(gòu)化查詢語(yǔ)言SQL指令。IIS3.0 / 4.0 WEB服務(wù)器執(zhí)行. ASP文檔,通過(guò)ODBC驅(qū)動(dòng)程式,連接到支持ODBC的數(shù)據(jù)庫(kù)上,執(zhí)行ASP文檔所指定的SQL指令,最后將執(zhí)行的結(jié)果以HTML的格式傳送給用戶瀏覽器。ADO具有容易使用、開(kāi)發(fā)執(zhí)行快速、消耗系統(tǒng)資源較少,和占用磁盤(pán)空間小等優(yōu)點(diǎn)。
以上就是目前設(shè)計(jì)商業(yè)網(wǎng)站常用的“動(dòng)態(tài)”技術(shù),由于本人的工作和使用經(jīng)驗(yàn),筆者較傾向于ADO和ASP的結(jié)合,從長(zhǎng)遠(yuǎn)來(lái)看這對(duì)搭檔也勢(shì)必成為今后一段時(shí)間內(nèi)“動(dòng)態(tài)”WEB的核心技術(shù)。因此在本文第二章《動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)十八般武藝》中,筆者將就ADO和ASP的使用進(jìn)行展開(kāi)講述,敬請(qǐng)期待。