前面也提到,對于現(xiàn)在的多數(shù)兩站而言,動態(tài)網(wǎng)頁是再普通不過的事情了。所 以,使用網(wǎng)站編程和數(shù)據(jù)庫的網(wǎng)站也是很常見的事情。目前網(wǎng)站上比較常用的動態(tài) 網(wǎng)頁編程語言有JSP、ASP及PHP。
JSP的英文全名為Java Server Pages,JSP頁面由HTML代碼和嵌人其中的Java 代碼組成。當(dāng)用戶在操作網(wǎng)頁時(shí).網(wǎng)站的服務(wù)器接到來自用戶客戶端的請求后,首 先執(zhí)行的是其中的Java代碼,然后將執(zhí)行的結(jié)果與文件中的HTML代碼一起返回給 用戶所看到的瀏覽器上。插入HTML文件的Java程序段可以操作數(shù)據(jù)庫,實(shí)現(xiàn)建立 動態(tài)網(wǎng)頁的功能。
JSP編程語言有"一次編寫,各處運(yùn)行”的優(yōu)點(diǎn)。這比PHP要出色,可以獲得 多系統(tǒng)平臺支持,基本上可在所有平臺的任意環(huán)境中開發(fā)、部署和擴(kuò)展。這也比ASP 強(qiáng),伸縮性強(qiáng)大,只有一個(gè)小的Jar文件就可運(yùn)行Servlet/JSP,可由多臺服務(wù)器進(jìn)行 集群和負(fù)載均衡等;有很多功能強(qiáng)大的開發(fā)工具支持。不過JSP也有其缺點(diǎn),比如 為了跨平臺的功能和強(qiáng)大的伸縮能力,增加了產(chǎn)品的復(fù)雜性;由于Java運(yùn)行速度的 完成需要靠class常駐內(nèi)存,一般情況下,它所使用的內(nèi)存與用戶數(shù)量來說,性價(jià)比 比較低,而且它還需硬盤空間存儲一系列的Java文件和class文件等。
ASP英文全稱是Active ServerPages,它的網(wǎng)頁文件的擴(kuò)展名是asp。ASP是服 務(wù)器端腳本編寫環(huán)境,可用它創(chuàng)建和運(yùn)~f3-rq]態(tài)網(wǎng)頁或Web的應(yīng)用程序。它采用 vBScipt作為腳本語言。
用戶在瀏覽器地址欄輸入網(wǎng)頁地址.如果是ASP的網(wǎng)頁,則擴(kuò)展名為asp。瀏覽 器向服務(wù)器發(fā)出請求,而Web服務(wù)器則把ASP文件發(fā)送給服務(wù)器的ASP引擎,由 引擎將.ASP網(wǎng)頁的所有服務(wù)器端腳本代碼轉(zhuǎn)換成HTML代碼,然后將所有HTML 代碼發(fā)送到用戶端的瀏覽器。也就是說,由于ASP所使用的腳本語言,如VBScript 是在Web服務(wù)器端執(zhí)行,用戶端瀏覽器不需要執(zhí)行這些腳本語言,用戶只要使用可 執(zhí)行HTML代碼的瀏覽器,就可瀏覽到ASP網(wǎng)頁。這是ASP的基本運(yùn)行原理,只 要將asp程序放在Web服務(wù)器的虛擬目錄下(在目錄有可執(zhí)行的權(quán)限情況下),用 戶就可以通過www的方式訪問ASP程序。
ASP的特點(diǎn)是不需要編譯,編寫也容易,可直接在服務(wù)端執(zhí)行,所使用的腳本語言, 比如VBSscript及Javascript,相對簡單易懂:可使用普通的文本編輯器編寫,微軟開發(fā) 了一套Visual InterDev工具,集成了web應(yīng)用軟件開發(fā)系統(tǒng),包括了開發(fā)、發(fā)行、數(shù)據(jù) 庫驅(qū)動管理等功能,有利于團(tuán)隊(duì)合作開發(fā);ASf’的源程序不會被傳送到用戶端瀏覽器 可避免程序被人剽取,Active Server Componens有無限擴(kuò)充性,可使用Visual Basic Java、Visual C++、CoBol等編程語言編寫所需要的ActiveX Server Componet。不過, ASP是微軟開發(fā)的動態(tài)網(wǎng)頁語言.只能運(yùn)行于微軟的服務(wù)器產(chǎn)品上,比如IIS(Internet Information Server)和PWS(Personal Web Server)。
PHP英文全名是Hypenext Preprocessor,是一種HTML內(nèi)嵌式語言,是在服務(wù) 器端執(zhí)行的嵌入HTML文檔的腳本語言。PHP混合了c、Perl、Java語言的語法及 自創(chuàng)的語法。PHP功能強(qiáng)大,所有CGI或Javascript的功能它都可以實(shí)現(xiàn),但是執(zhí) 行的效率比完全生成HTML標(biāo)記的CGI要高。與同樣嵌入HTML文檔的腳本語言 Javascript相比,由于在服務(wù)器端執(zhí)行,能充分利用服務(wù)器的性能,效率也更高。 PHP 還幾乎支持所有的流行數(shù)據(jù)庫和操作系統(tǒng),開放性強(qiáng)。
PHP是開放免費(fèi)的源代碼,消耗的系統(tǒng)資源小,語言簡單,堅(jiān)持以筒本語言為 主,而且可以嵌人HTML,學(xué)習(xí)起來相對不那么困難,它可以運(yùn)行在UNIX、Linux、 及windows平臺下。PHP最佳的數(shù)據(jù)庫組臺是MySQL。
以上三種編程語言中,從系統(tǒng)平臺看,windows平臺支持AsP、PHP和JSP, 不過JSP一需要安裝插件才支持。UNIX平臺支持JSP和PHP,而ASP安裝插件后才 支持。Linux平臺不支持ASP,但支持PHP和JSP。ASP的最佳組合是Windows,JSP 的最佳組臺是UNlX,PHP的最佳組合是Linux。三種編程語言中,PHP是唯一不用 插件都可獲得三大平臺支持的語言。從費(fèi)用看,PHP是免費(fèi)的.JSP比較貴,而ASP 是微軟IIS上自帶;從運(yùn)算效率上看,JSP是三者中表現(xiàn)最強(qiáng)的。從開發(fā)的速度看, JSP較快,而PHP和ASP較慢,JSP可重用組件。從八門的程度看,JSP最難,ASP 最容易。由于PHP是免費(fèi)軟件,技術(shù)支持較差;而ASP是微軟開發(fā),技術(shù)支持最強(qiáng)。