咨詢電(diàn)話(huà):023-88959644    24小(xiǎo)時(shí)服務熱線:400-023-8809
NEWS CENTER ·
新聞動态
關注中技(jì)互聯 關注前沿

目前最為(wèi)流行(xíng)的和(hé)常用的建站(zhàn)三大(dà)語言

發表日期:2010-06-11    文章編輯:王東    浏覽次數(shù):12    标簽:

目前,最常用的三種動态網頁語言有(yǒu)ASP(Active Server Pages),JSP(JavaServer Pages),PHP (Hypertext Preprocessor)。 技(jì)術(shù)特點、應用範圍、性能比較、前景分析。

目前,最常用的三種動态網頁語言有(yǒu)ASP(Active Server Pages),JSP(JavaServer Pages),PHP (Hypertext Preprocessor)。
簡 介
ASP全名Active Server Pages,是一個(gè)WEB服務器(qì)端的開(kāi)發環境,利用它可(kě)以産生(shēng)和(hé)執行(xíng)動态的、互動的、高(gāo)性能的WEB服務應用程序。ASP采用腳本語言VBScript(Java script)作(zuò)為(wèi)自己的開(kāi)發語言。

PHP是一種跨平台的服務器(qì)端的嵌入式腳本語言。它大(dà)量地借用C,Java和(hé)Perl語言的語法, 并耦合PHP自己的特性,使WEB開(kāi)發者能夠快速地寫出動态産生(shēng)頁面。它支持目前絕大(dà)多(duō)數(shù)數(shù)據庫。還(hái)有(yǒu)一點,PHP是完全免費的,不用花(huā)錢(qián),你(nǐ)可(kě)以從PHP官方站(zhàn)點(http: //www.php.net)自由下載。而且你(nǐ)可(kě)以不受限制(zhì)地獲得(de)源碼,甚至可(kě)以從中加進你(nǐ)自己需要的特色。

JSP是Sun公司推出的新一代網站(zhàn)開(kāi)發語言,Sun公司借助自己在Java上(shàng)的不凡造詣,将Java從Java應用程序和(hé)Java Applet之外,又有(yǒu)新的碩果,就是JSP,Java Server Page。JSP可(kě)以在Serverlet和(hé)JavaBean的支持下,完成功能強大(dà)的站(zhàn)點程序。

三者都提供在 HTML代碼中混合某種程序代碼、由語言引擎解釋執行(xíng)程序代碼的能力。但(dàn)JSP代碼被編譯成 Servlet并由Java虛拟機解釋執行(xíng),這種編譯操作(zuò)僅在對JSP頁面的第一次請(qǐng)求時(shí)發生(shēng)。在ASP 、PHP、JSP環境下,HTML代碼主要負責描述信息的顯示樣式,而程序代碼則用來(lái)描述處理(lǐ)邏輯。普通(tōng)的 HTML頁面隻依賴于Web服務器(qì),而ASP 、PHP、JSP頁面需要附加的語言引擎分析和(hé)執行(xíng)程序代碼。程序代碼的執行(xíng)結果被重新嵌入到HTML代碼中,然後一起發送給浏覽器(qì)。ASP 、PHP、JSP三者都是面向Web服務器(qì)的技(jì)術(shù),客戶端浏覽器(qì)不需要任何附加的軟件支持。

技(jì)術(shù)特點:
ASP:
1. 使用VBScript 、 JScript等簡單易懂的腳本語言,結合HTML代碼,即可(kě)快速地完成網站(zhàn)的應用程序。
2. 無須compile編譯,容易編寫,可(kě)在服務器(qì)端直接執行(xíng)。
3. 使用普通(tōng)的文本編輯器(qì),如Windows的記事本,即可(kě)進行(xíng)編輯設計(jì)。
4. 與浏覽器(qì)無關(Browser Independence), 客戶端隻要使用可(kě)執行(xíng)HTML碼的浏覽器(qì),即可(kě)浏覽Active Server Pages所設計(jì)的網頁內(nèi)容。Active ServerPages 所使用的腳本語言(VBScript 、 Jscript)均在WEB服務器(qì)端執行(xíng),客戶端的浏覽器(qì)不需要能夠執行(xíng)這些(xiē)腳本語言。
5.Active Server Pages能與任何ActiveX scripting語言兼容。除了可(kě)使用VB Script或JScript語言來(lái)設計(jì)外,還(hái)通(tōng)過plug-in的方式,使用由第三方所提供的其它腳本語言,譬如REXX 、Perl 、Tcl等。腳本引擎是處理(lǐ)腳本程序的COM(Component Object Model) 對象。
6. 可(kě)使用服務器(qì)端的腳本來(lái)産生(shēng)客戶端的腳本。
7. ActiveX Server Components(ActiveX 服務器(qì)組件 )具有(yǒu)無限可(kě)擴充性。可(kě)以使用Visual Basic 、Java 、Visual C++ 、COBOL等程序設計(jì)語言來(lái)編寫你(nǐ)所需要的ActiveX Server Component 。

PHP:
1 數(shù)據庫連接
PHP可(kě)以編譯成具有(yǒu)與許多(duō)數(shù)據庫相連接的函數(shù)。PHP與MySQL是現在絕佳的群組合。你(nǐ)還(hái)可(kě)以自己編寫外圍的函數(shù)去間(jiān)接存取數(shù)據庫。通(tōng)過這樣的途徑當你(nǐ)更換使用的數(shù)據庫時(shí),可(kě)以輕松地修改編碼以适應這樣的變化。PHPLIB就是最常用的可(kě)以提供一般事務需要的一系列基庫。但(dàn)PHP提供的數(shù)據庫接口支持彼此不統一,比如對Oracle, MySQL,Sybase的接口,彼此都不一樣。這也是PHP的一個(gè)弱點。

JSP:
1.将內(nèi)容的産生(shēng)和(hé)顯示進行(xíng)分離
使用JSP技(jì)術(shù),Web頁面開(kāi)發人(rén)員可(kě)以使用HTML或者XML标識來(lái)設計(jì)和(hé)格式化最終頁面。使用JSP标識或者小(xiǎo)腳本來(lái)産生(shēng)頁面上(shàng)的動态內(nèi)容。産生(shēng)內(nèi)容的邏輯被封裝在标識和(hé)JavaBeans群組件中,并且捆綁在小(xiǎo)腳本中,所有(yǒu)的腳本在服務器(qì)端執行(xíng)。如果核心邏輯被封裝在标識和(hé)Beans中,那(nà)麽其它人(rén),如Web管理(lǐ)人(rén)員和(hé)頁面設計(jì)者,能夠編輯和(hé)使用JSP頁面,而不影(yǐng)響內(nèi)容的産生(shēng)。在服務器(qì)端,JSP引擎解釋JSP标識,産生(shēng)所請(qǐng)求的內(nèi)容(例如,通(tōng)過存取JavaBeans群組件,使用JDBC技(jì)術(shù)存取數(shù)據庫),并且将結果以HTML(或者XML)頁面的形式發送回浏覽器(qì)。這有(yǒu)助于作(zuò)者保護自己的代碼,而又保證任何基于HTML的Web浏覽器(qì)的完全可(kě)用性。

2.強調可(kě)重用的群組件
絕大(dà)多(duō)數(shù)JSP頁面依賴于可(kě)重用且跨平台的組件(如:JavaBeans或者Enterprise JavaBeans)來(lái)執行(xíng)應用程序所要求的更為(wèi)複雜的處理(lǐ)。開(kāi)發人(rén)員能夠共享和(hé)交換執行(xíng)普通(tōng)操作(zuò)的組件,或者使得(de)這些(xiē)組件為(wèi)更多(duō)的使用者或者用戶團體(tǐ)所使用。基于組件的方法加速了總體(tǐ)開(kāi)發過程,并且使得(de)各種群組織在他們現有(yǒu)的技(jì)能和(hé)優化結果的開(kāi)發努力中得(de)到平衡。

3.采用标識簡化頁面開(kāi)發
Web頁面開(kāi)發人(rén)員不會(huì)都是熟悉腳本語言的程序設計(jì)人(rén)員。JavaServer Page技(jì)術(shù)封裝了許多(duō)功能,這些(xiē)功能是在易用的、與JSP相關的XML标識中進行(xíng)動态內(nèi)容産生(shēng)所需要的。标準的JSP标識能夠存取和(hé)實例化JavaBeans組件,設定或者檢索群組件屬性,下載Applet,以及執行(xíng)用其它方法更難于編碼和(hé)耗時(shí)的功能。通(tōng)過開(kāi)發定制(zhì)化标識庫,JSP技(jì)術(shù)是可(kě)以擴展的。今後,第三方開(kāi)發人(rén)員和(hé)其它人(rén)員可(kě)以為(wèi)常用功能建立自己的标識庫。這使得(de)Web頁面開(kāi)發人(rén)員能夠使用熟悉的工具和(hé)如同标識一樣的執行(xíng)特定功能的構件來(lái)工作(zuò)。 JSP技(jì)術(shù)很(hěn)容易整合到多(duō)種應用體(tǐ)系結構中,以利用現存的工具和(hé)技(jì)巧,并且擴展到能夠支持企業級的分布式應用。作(zuò)為(wèi)采用Java技(jì)術(shù)家(jiā)族的一部分,以及Java 2EE的一個(gè)成員,JSP技(jì)術(shù)能夠支持高(gāo)度複雜的基于Web的應用。由于JSP頁面的內(nèi)置腳本語言是基于Java程序設計(jì)語言的,而且所有(yǒu)的JSP頁面都被編譯成為(wèi)Java Servlet,JSP頁面就具有(yǒu)Java技(jì)術(shù)的所有(yǒu)好處,包括健壯的存儲管理(lǐ)和(hé)安全性。作(zuò)為(wèi)Java平台的一部分,JSP擁有(yǒu)Java程序設計(jì)語言“一次編寫,各處執行(xíng)”的特點。随着越來(lái)越多(duō)的供貨商将JSP支持加入到他們的産品中,您可(kě)以使用自己所選擇的服務器(qì)和(hé)工具,修改工具或服務器(qì)并不影(yǐng)響目前的應用。

應用範圍:
ASP是Microsoft開(kāi)發的動态網頁語言,也繼承了微軟産品的一貫傳統,隻能執行(xíng)于微軟的服務器(qì)産品,IIS(Internet Information Server) (windows NT)和(hé)PWS(Personal Web Server)(windows 98)上(shàng)。Unix下也有(yǒu)ChiliSoft的組件來(lái)支持ASP,但(dàn)是ASP本身的功能有(yǒu)限,必須通(tōng)過ASP+COM的群組合來(lái)擴充,Unix下的COM實現起來(lái)非常困難。

PHP3可(kě)在Windows,Unix,Linux的Web服務器(qì)上(shàng)正常執行(xíng),還(hái)支持IIS,Apache等一般的Web服務器(qì),用戶更換平台時(shí),無需變換PHP3代碼,可(kě)即拿(ná)即用。

JSP同PHP3類似,幾乎可(kě)以執行(xíng)于所有(yǒu)平台。如Win NT,Linux,Unix。在NT下IIS通(tōng)過一個(gè)外加服務器(qì),例如JRUN或者ServletExec,就能支持JSP。知名的Web服務器(qì)Apache已經能夠支持JSP。由于Apache廣泛應用在NT、Unix和(hé)Linux上(shàng),因此JSP有(yǒu)更廣泛的執行(xíng)平台。雖然現在NT操作(zuò)系統占了很(hěn)大(dà)的市場(chǎng)份額,但(dàn)是在服務器(qì)方面Unix的優勢仍然很(hěn)大(dà),而新崛起的Linux更是來(lái)勢不小(xiǎo)。從一個(gè)平台移植到另外一個(gè)平台,JSP和(hé)JavaBean甚至不用重新編譯,因為(wèi)Java字節碼都是标準的與平台無關的。

性能比較:
有(yǒu)人(rén)做(zuò)過試驗,對這三種語言分别做(zuò)回圈性能測試及存取Oracle數(shù)據庫測試。在循環性能測試中,JSP隻用了令人(rén)吃(chī)驚的四秒(miǎo)鍾就結束了20000*20000的回圈。而ASP、PHP測試的是2000*2000循環(少(shǎo)一個(gè)數(shù)量級),卻分别用了63秒(miǎo)和(hé)84秒(miǎo)。(參考PHPLIB)。 數(shù)據庫測試中,三者分别對 Oracle 8 進行(xíng) 1000 次 Insert,Update,Select和(hé)Delete: JSP 需要 13 秒(miǎo),PHP 需要 69 秒(miǎo),ASP則 需要 73 秒(miǎo)。

前景分析:
目前在國內(nèi)PHP與ASP應用最為(wèi)廣泛。而JSP由于是一種較新的技(jì)術(shù),國內(nèi)采用的較少(shǎo)。但(dàn)在國外,JSP已經是比較流行(xíng)的一種技(jì)術(shù),尤其是電(diàn)子商務類的網站(zhàn),多(duō)采用JSP。采用PHP的網站(zhàn)如新浪網(sina)、中國人(rén)(Chinaren)等,但(dàn)由于PHP本身存在的一些(xiē)缺點,使得(de)它不适合應用于大(dà)型電(diàn)子商務站(zhàn)點,而更适合一些(xiē)小(xiǎo)型的商業站(zhàn)點。首先,PHP缺乏規模支持。其次,缺乏多(duō)層結構支持。對于大(dà)負荷站(zhàn)點,解決方法隻有(yǒu)一個(gè):分布計(jì)算(suàn)。數(shù)據庫、應用邏輯層、表示邏輯層彼此分開(kāi),而且同層也可(kě)以根據流量分開(kāi),群組成二維數(shù)組。而PHP則缺乏這種支持。還(hái)有(yǒu)上(shàng)面提到過的一點,PHP提供的數(shù)據庫接口支持不統一,這就使得(de)它不适合運用在電(diàn)子商務中。

ASP和(hé)JSP則沒有(yǒu)以上(shàng)缺陷,ASP可(kě)以通(tōng)過Microsoft Windowsd的COM/DCOM獲得(de)ActiveX規模支持,通(tōng)過DCOM和(hé)Transcation Server獲得(de)結構支持;JSP可(kě)以通(tōng)過SUN Java的Java Class和(hé)EJB獲得(de)規模支持,通(tōng)過EJB/CORBA以及衆多(duō)廠商的Application Server獲得(de)結構支持。三者中,JSP應該是未來(lái)發展的趨勢。世界上(shàng)一些(xiē)大(dà)的電(diàn)子商務解決方案提供商都采用JSP/Servlet。比較出名的如IBM的E-business,它的核心是采用JSP/Servlet的Web Sphere。它們都是通(tōng)過CGI來(lái)提供支持的。但(dàn)去年10月後它推出了Enfinity,一個(gè)采用JSP/Servlet的電(diàn)子商務Application Server,而且聲言不再開(kāi)發傳統軟件

    重慶中技(jì)互聯網信息資訊有(yǒu)限公司
     網站(zhàn)建設事業部官方網:www.zjcoo.com
     電(diàn)子商務建站(zhàn)事業部咨詢電(diàn)話(huà):023-67742189
     門(mén)戶網站(zhàn)品牌加盟推廣電(diàn)話(huà):023-67742189
     7*24小(xiǎo)時(shí)服務電(diàn)話(huà):023-67742189
     媒體(tǐ)合作(zuò)電(diàn)話(huà):13883323406
     投資合作(zuò)電(diàn)話(huà):13896068183
     QQ及郵件地址  446515345@qq.com  

如沒特殊注明(míng),文章均為(wèi)中技(jì)互聯原創,轉載請(qǐng)注明(míng)來(lái)自www.zjcoo.com
相關新聞

CopyrightZJCOO technology Co., LTD. All Rights Reserved.    

渝ICP 備11003429号

  • qq客服
  • 公衆号
  • 手機版
  • 新浪微博