摘要:目前,最常用的三種訪問網絡數據庫動態網頁語言有ASP、JSP和PHP。其中,ASP運行于WINDOWS平臺,以Access和SQL Server為后臺數據庫,簡單易學,便于管理,是目前使用最廣泛的,也因此最易受攻擊,所以安全性和穩定性都是需要重視的問題。PHP和JSP都是可跨平臺運行的,PHP在UNIX系統上性能和穩定性更好。而JSP則以EBA Weblogi.和IBM Webshpere等商業平臺為基礎,更適合大型企業的商務管理應用。
關鍵詞:ASP;JSP;PHP;數據庫
隨著網絡的迅猛發展,互聯網不只是網上沖浪、聊天室和下載mp3,而是成為一個統一的通訊和信息體系的核心。人們期望在互聯網上將全世界的信息匯總、分析、交流,使全球經濟得以更加高效地運轉,從而產生出更高的經濟效益。因此,數據庫技術在網絡上的應用越來越受到人們的重視,網絡數據庫技術得到了飛速發展與應用。如火車票、飛機票等網上訂票系統,全球定位系統等,都是網絡數據庫的具體應用。
一、ASP簡介
ASP內含于Internet Information Server(簡稱IIS)中,擴展名以asp表示。ASP文件可以用常規的文本編輯器編輯,也可以利用專門的輔助開發工具FrontPage或Dream Waver進行開發設計,FrontPage的優點是將整個Web程序設計(包括網頁設計、ASP程序設計、數據庫管理等)融為一體,比較適合于較大工程項目的開發研制。ASP使用VB Script,Java script等腳本語言作為開發工具,鑲嵌于HTML文本中,使用<%…%>將ASP的程序包含起來。當用戶從瀏覽器向Web服務器提出請求時,WEB服務器會自動將ASP的程序解釋為標準的HTML格式的主頁內容,用戶端只要使用常規可執行HTML程序的瀏覽器,就可瀏覽ASP所設計的主頁內容,因此與瀏覽器無關,并且保證了ASP的源程序代碼不會外漏。
二、JSP簡介
JSP借鑒了許多ASP的思想,但其本質上還是基于Servlet的,是Servlet技術的一種延展。每個JSP文件總是先被JSP引擎自動編譯成Serviet,然后再由Servlet引擎運行。也正因為如此,JSP間接具備了Servlet的諸多特點,包括ASP所沒有的平臺獨立性。如果純粹用Servlet實現WEB應用,對網頁所作的任何修改都必須重新編譯Servlet。采用JSP則無需編寫程序,開發人員直接用HTML標簽制作頁面,并在需要處加入腳本命令,生成動態內容。
三、PHP簡介
PHP超文本預處理器是一種HTML內嵌式的語言。而PHP獨特的語法混合了C、JAVA、PERL以及PHP式的新語法,它可以比CGI或者PERL更快速的執行動態網頁。PHP是一種HTML內嵌式的語言(類似IIS上的ASP)。而PHP獨特的語法混合TC、Java、Perl以及PHP式的新語法,它可以比CG工或者Perl更快速地執行動態網頁,這是目前非常強大的腳本語言,它不但可以使用CGI方式而且也可以使用API方式,尤其是對數據庫的支持。
四、三種方案的比較選擇
ASP是由微軟公司開發的動態網頁技術,是基于ActiveX控件技術提供客戶端和服務器端的開發組件,因此主要局限于windows平臺下使用。因為ActiveX對象具有平臺特性,所以ASP技術不能很容易地在跨平臺的web服務器上工作,雖然Windows操作系統占據了很大的市場份額,但是由于它實際上存在的許多問題,而Unix的用戶越來越多,而且,新崛起的Linux更是受到了全世界的歡迎。雖然可以通過Chili插件在Unix平臺下使用ASP技術和COM組件,但是其功能最強大的Doom控件卻不能使用,這對于動態網站建設者來說,并不是理想的選擇。PHP在與平臺的相關性方面,比ASP要好許多。但是,仍然不能稱為與平臺無關的技術。
在穩定性上,ASP在實際應用經驗上,每過一陣就會使系統不穩定,需要重起系統。當然,目前經過微軟的IIS Service Pack處理過的ASP及新版的ASP NET有著較強的安全性。JSP頁面的內置腳本語言是基于JAVA編程語言的,而且所有的JSP頁面都被編譯成為Java Servlet、JSP頁面就具有JAVA技術的所有好處,包括存儲管理和安全性。PHP在許多的網站上應用,不但長期使用都沒有問題,而且程序的穩定性也不錯。在許多商業及非商業使用時,目前尚沒有聽說過PHP有什么安全的問題。
在新增功能及改版方面,PHP是最有活力的,數天至數周就有一個新版本出現,每次的新版,就代表更多的功能及修正更多的錯誤。ASP. JSP就視其web服務器改版速度了。
綜合言之,在WEB數據庫訪問方案中,PHP是處于開發容易、效能亦不錯的平衡點上。特別是PHP對INTERNET的處理能力上,使得PHP的應用如日中天。開發者們為了更適合web編程,開發了許多外圍的流行類庫,這些庫包含了更易用的層。人們可以利用PHP連接包括Oracle、MS-Access、MYSQL在內的大部分數據庫。可以在WEB上畫圖,編寫程序下載或者顯示E-mail。甚至可以完成網絡相關的功能。引用Nissan的Xterar的話來說就是PHP可以做到想讓它做到的一切而且無所不能,同時PHP允許面向對象編程并提供了類和對象,這使得軟件的復用成為可能。同時基于web的數據庫編程工作非常需要面向對象編程能力。
參考文獻:
1