我們都知道網(wǎng)站是程序員用代碼寫出來的,用的是什么代碼、什么技術(shù)可能很多人就不知道了。目前大大小小的網(wǎng)站一般都是通過3種技術(shù)開發(fā)的:ASP、PHP和JSP。這里只能稱它們是技術(shù),而不能叫語言。因為每個技術(shù)都是結(jié)合了很多種的前臺后臺技術(shù)組合而成的。通過彼此技術(shù)優(yōu)勢劣勢L的彌補結(jié)合,才能實現(xiàn)完整的網(wǎng)站功能。下面我們分別介紹下他們。
1,ASP
ASS是微軟開發(fā)的一種類似HTML(超文本標(biāo)識語言)、Script(腳本)與CGI(公用網(wǎng)關(guān)接口)的結(jié)合體,它沒有提供自己專門的編程語言,而是允許用戶使用許多已有的腳本語言編寫ASP的應(yīng)用程序。其語法和Visual Basic類似,可以像SSI 那樣把后臺腳本代碼內(nèi)嵌到HTML幀面中。
ASP的程序編制比HTML.更方便且更富有靈活性。它在Web服務(wù)器端運行,運行后再將運行結(jié)果以HTML格式傳送至客戶端的瀏覽器。在執(zhí)行的時候,由IIS調(diào)用程序引擎,解釋執(zhí)行嵌在HTML中的ASP代碼,最終將結(jié)果和原來的HTML一同送往客戶端。
ASP的最大好處是可以包含HTML標(biāo)簽,也可以直接存取數(shù)據(jù)庫及使用可無限擴充的ActiveX控件,因此在程序編制上要比HTML方便而且更富有靈活性。通過使用ASP的組件和對象技術(shù),用戶可以直接使用ActiveX控件,調(diào)用對象方法和屬性,以簡單的方式實現(xiàn)強大的交互功能。
雖然ASP簡單易用,但是它自身存在著許多缺陷,最重要的就是安全性問題。目前在微軟的.NET戰(zhàn)略中新推出的ASP.NET借鑒了Java技術(shù)的優(yōu)點,使用C#語言作為ASP.NET的推薦語言,同時改進(jìn)了以前ASP的安全性差等缺點。但是,使用ASP/ASP.NET仍有一定的局限性,因為從某種角度來說它們只能在微軟的Windows NT/2000/XP+IIS的服務(wù)器平臺上良好運行。雖然ChilliSofe}提供了在UNIX/Linux上運行ASP的解決方案,但是目前ASP在UNIX/Linux上的應(yīng)用可以說幾乎為零。所以平臺的局限性和ASP自身的安全性限制了ASP的廣泛應(yīng)用。
2,PHP
PHP的全名是一個巢狀的縮寫名稱“PHP: Hypertext Preprocessor"。
PHP是一種HTML內(nèi)嵌式的語言。而PHP獨特的語法混合了C、java perl以及PHP式的新語法,它可以比CGI或者Perl更快速地執(zhí)行動態(tài)網(wǎng)頁。
PHP的源代碼完全公開。新的函數(shù)庫不斷加入以及不停的更新,使得PHP無論在Unix或是Win32的平臺上都可以有更多新的功能。它提供豐富的函數(shù),使得在程式設(shè)計方面有更好的資源。
平臺無關(guān)性是PHP的最大優(yōu)點。如果在PHP中不使用ODBC,而用其自帶的數(shù)據(jù)庫函數(shù)來連接數(shù)據(jù)庫的話,使用不同的數(shù)據(jù)庫,PHP的函數(shù)名不能統(tǒng)一。這樣,使得程序的移植變得有些麻煩。不過,作為目前應(yīng)用最為廣泛的一種后臺語言,PHP的優(yōu)點還是異常明顯的。其運行機制如圖所示。
3,JSP(Java Server Peges)
JSP是Sun公司為了擴展J2EE項目中頁面表現(xiàn)而研制的技術(shù)。JSP是從Servlet擴展而來,它們都是Sun公司的J2EE應(yīng)用體系中的一部分。不同干ASP和PHP,JSP的腳本語言是Java,實際上Servlet就是完善的Servlet API支持下的Java文件。
JSP具有自己的標(biāo)簽,同時完全兼容HTML標(biāo)簽。在頁面中可以加入Java腳本,通過在頁面中編寫Java腳本可實現(xiàn)一些業(yè)務(wù)邏輯。然而,不推薦在頁面中寫入過多的邏輯。這就是JSP項目不同于前兩種技術(shù)的很重要的一個特征,采用分層思想。
最簡單的分層是:JSP+ JavaBean 。JavaBean就是后臺的Java程序,主要負(fù)責(zé)業(yè)務(wù)邏輯及響應(yīng)用戶請求; JSP即前臺表現(xiàn)頁面。這樣把表現(xiàn)層和業(yè)務(wù)層分隔,可以優(yōu)化系統(tǒng)結(jié)構(gòu),便于后期維護(hù)和升級。稍微復(fù)雜一點的結(jié)構(gòu)還有MVC模式,即模型+視圖+控制3個層次。再大一點的項目分層會更復(fù)雜一些。
雖然在形式上JSP和ASP或PHP看上去很相似,都可以被內(nèi)嵌在HTML.代碼中,但是,它的執(zhí)行方式和ASS或PHP完全不同。在JSP被執(zhí)行的時候,JSP文件被JSP解釋器(JSP Praser)轉(zhuǎn)換成Servlet代碼,然后Servlet代碼被Java編譯器編譯成.class字節(jié)文件,這樣就由生成的Servlet來對客戶端應(yīng)答。
由于JSP是基于Java的,所以它還有個很好的特點:平臺無關(guān)性,也就是所謂的“一次編寫,隨處運行(WORA,Write Once Run Anywhere )”。除了這個優(yōu)點,JSP的效率以及安全性也是相當(dāng)令人滿意的。因此,JSP是目前做大型項目的首選。
4,其他腳本
上面說到的ASP、PHP和JSP都是后臺技術(shù)。在前臺頁面中,還需要了解CSS樣式、JavaScriPt、VBscriPt、Flash等。CSS主要用于展現(xiàn)樣式,JavaScriPt和VBscriPt主要用于簡單地響應(yīng)客戶端的動作,F(xiàn)lash用于展現(xiàn)客戶端的特效。需要注意的是,JavaScriPt和Java并沒有任何關(guān)系,當(dāng)初之所以叫這個名字主要是出于營銷方面的考慮。
當(dāng)時由于Java在Web技術(shù)上的強大,掀起了一股Java開發(fā)的熱潮。為了更好地推廣Javascript,Netscape公司就借用了Java的名字作為腳本名字的一部分。
事實上,JavaScriPt確實是很優(yōu)秀的腳本語言。同時,和Java配合使用十分默契。隨著前臺技術(shù)的發(fā)展,JavaScriPt越來越受開發(fā)者重視,其應(yīng)用也越來越廣。流行了很多年的AJAX技術(shù)。就以JavaScriPt作為其編程語言。
可能您還想看