中文字幕免费在线观看动作大片,色多多性虎精品无码AV,亚洲日韩欧洲无码AV夜夜摸,日韩午夜精品污福利在线秒播

公司動態(tài) · 行業(yè)動態(tài) · 技術交流

技術交流

ASP、JSP與PHP的比較

發(fā)布時間:2011-06-30 瀏覽:14129次

      目前,最常用的三種動態(tài)網(wǎng)頁語言有ASP(Active Server Pages),JSP(Java Server Pages),PHP (Hypertext Preprocessor)。
  簡 介
  ASP全名Active Server Pages,是一個WEB服務器端的開發(fā)環(huán)境, 利用它可以產(chǎn)生和運行動態(tài)的、交互的、高性能的WEB服務應用程序。ASP采用腳本語言VB Script(Java script)作為自己的開發(fā)語言。
  PHP是一種跨平臺的服務器端的嵌入式腳本語言. 它大量地借用C,Java和Perl語言的語法, 并耦合PHP自己的特性,使WEB開發(fā)者能夠快速地寫出動態(tài)生成頁面.它支持目前絕大多數(shù)數(shù)據(jù)庫。還有一點,PHP是完全免費的,不用花錢,你可以從PHP官方站點(http://www.php.net)自由下載。而且你可以不受限制地獲得源碼,甚至可以從中加進你自己需要的特色。
  JSP 是Sun公司推出的新一代站點開發(fā)語言,他完全解決了目前ASP,PHP的一個通?。_本級執(zhí)行(據(jù)說PHP4 也已經(jīng)在Zend 的支持下,實現(xiàn)編譯運行).Sun 公司借助自己在Java 上的不凡造詣,將Java 從Java 應用程序 和 Java Applet 之外,又有新的碩果,就是Jsp--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能強大的站點程序。
  三者都提供在 HTML 代碼中混合某種程序代碼、由語言引擎解釋執(zhí)行程序代碼的能力。但JSP代碼被編譯成 Servlet 并由 Java 虛擬機解釋執(zhí)行,這種編譯操作僅在對 JSP 頁面的第一次請求時發(fā)生。在 ASP 、PHP、JSP 環(huán)境下, HTML 代碼主要負責描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的 HTML 頁面只依賴于 Web 服務器,而 ASP 、PHP、JSP 頁面需要附加的語言引擎分析和執(zhí)行程序代碼。程序代碼的執(zhí)行結果被重新嵌入到 HTML 代碼中,然后一起發(fā)送給瀏覽器。 ASP 、PHP、 JSP三者都是面向 Web 服務器的技術,客戶端瀏覽器不需要任何附加的軟件支持。
  技術特點
  ASP:
  1. 使用 VBScript 、 JScript 等簡單易懂的腳本語言,結合 HTML 代碼,即可快速地完成網(wǎng)站的應用程序。
  2. 無須 compile 編譯,容易編寫,可在服務器端直接執(zhí)行。
  3. 使用普通的文本編輯器,如 Windows 的記事本,即可進行編輯設計。
  4. 與瀏覽器無關 (Browser Independence), 用戶端只要使用可執(zhí)行 HTML 碼的瀏覽器,即可瀏覽 Active Server Pages 所設計的網(wǎng)頁內容。 Active Server Pages 所使用的腳本語言 (VBScript 、 Jscript) 均在 WEB 服務器端執(zhí)行,用戶端的瀏覽器不需要能夠執(zhí)行這些腳本語言。
  5.Active Server Pages 能與任何 ActiveX scripting 語言相容。除了可使用 VBScript 或 JScript 語言來設計外,還通過 plug-in 的方式,使用由第三方所提供的其他腳本語言,譬如 REXX 、 Perl 、 Tcl 等。腳本引擎是處理腳本程序的 COM(Component Object Model) 物件。
  6. 可使用服務器端的腳本來產(chǎn)生客戶端的腳本。
  7.ActiveX Server Components(ActiveX 服務器元件 ) 具有無限可擴充性。可以使用 Visual Basic 、 Java 、 Visual C++ 、 COBOL 等編程語言來編寫你所需要的ActiveX Server Component 。
  PHP:
  1.數(shù)據(jù)庫連接
  PHP可以編譯成具有與許多數(shù)據(jù)庫相連接的函數(shù)。PHP與MySQL是現(xiàn)在絕佳的組合。你還可以自己編寫外圍的函數(shù)取間接存取數(shù)據(jù)庫。通過這樣的途徑當你更換使用的數(shù)據(jù)庫時,可以輕松地更改編碼以適應這樣的變。PHPLIB就是最常用的可以提供一般事務需要的一系列基庫。但PHP提供的數(shù)據(jù)庫接口支持彼此不統(tǒng)一,比如對Oracle,  MySQL, Sybase的接口,彼此都不一樣。這也是PHP的一個弱點。
  2.面向對象編程
  PHP提供了類和對象?;趙eb的編程工作非常需要面向對象編程能力。PHP支持構造器、提取類等。
  JSP:
  1.將內容的生成和顯示進行分離
  使用JSP技術,Web頁面開發(fā)人員可以使用HTML或者XML標識來設計和格式化最終頁面。使用JSP標識或者小腳本來生成頁面上的動態(tài)內容。生成內容的邏輯**裝在標識和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務器端運行。如果核心邏輯**裝在標識和Beans中,那么其他人,如Web管理人員和頁面設計者,能夠編輯和使用JSP頁面,而不影響內容的生成。
  在服務器端,JSP引擎解釋JSP標識和小腳本,生成所請求的內容(例如,通過訪問JavaBeans組件,使用JDBCTM技術訪問數(shù)據(jù)庫,或者包含文件),并且將結果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這有助于作者保護自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。
  2.強調可重用的組件
  絕大多數(shù)JSP頁面依賴于可重用的,跨平臺的組件(JavaBeans或者Enterprise JavaBeansTM組件)來執(zhí)行應用程序所要求的更為復雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或者客戶團體所使用?;诮M件的方法加速了總體開發(fā)過程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結果的開發(fā)努力中得到平衡。
  3.采用標識簡化頁面開發(fā)
  Web頁面開發(fā)人員不會都是熟悉腳本語言的編程人員。JavaServer Page技術封裝了許多功能,這些功能是在易用的、與JSP相關的XML標識中進行動態(tài)內容生成所需要的。標準的JSP標識能夠訪問和實例化JavaBeans組件,設置或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時的功能。
  通過開發(fā)定制化標識庫,JSP技術是可以擴展的。今后,第三方開發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標識庫。這使得Web頁面開發(fā)人員能夠使用熟悉的工具和如同標識一樣的執(zhí)行特定功能的構件來工作。
  JSP技術很容易整合到多種應用體系結構中,以利用現(xiàn)存的工具和技巧,并且擴展到能夠支持企業(yè)級的分布式應用。作為采用Java技術家族的一部分,以及Java 2(企業(yè)版體系結構)的一個組成部分,JSP技術能夠支持高度復雜的基于Web的應用。
  由于JSP頁面的內置腳本語言是基于Java編程語言的,而且所有的JSP頁面都被編譯成為Java Servlet,JSP頁面就具有Java技術的所有好處,包括健壯的存儲管理和安全性。
  作為Java平臺的一部分,JSP擁有Java編程語言“一次編寫,各處運行”的特點。隨著越來越多的供應商將JSP支持添加到他們的產(chǎn)品中,您可以使用自己所選擇的服務器和工具,更改工具或服務器并不影響當前的應用。
  應用范圍
  ASP是Microsoft開發(fā)的動態(tài)網(wǎng)頁語言,也繼承了微軟產(chǎn)品的一貫傳統(tǒng)——只能運行于微軟的服務器產(chǎn)品,IIS (Internet Information Server) (windows NT)和PWS(Personal Web Server)(windows 98)上。Unix下也有ChiliSoft的插件來支持ASP,但是ASP本身的功能有限,必須通過ASP+COM的組合來擴充,Unix下的COM實現(xiàn)起來非常困難。
  PHP3可在Windows,Unix,Linux的Web服務器上正常運行,還支持IIS,Apache等通用Web服務器,用戶更換平臺時,無需變換PHP3代碼,可即拿即用.
  JSP同PHP3類似,幾乎可以運行于所有平臺。如Win NT,Linux,Unix. NT下IIS通過一個插件,例如JRUN或者ServletExec,就能支持JSP。著名的Web服務器Apache已經(jīng)能夠支持JSP。由于Apache廣泛應用在NT、Unix和Linux上,因此JSP有更廣泛的運行平臺。雖然現(xiàn)在NT操作系統(tǒng)占了很大的市場份額,但是在服務器方面Unix的優(yōu)勢仍然很大,而新崛起的Linux更是來勢不小。從一個平臺移植到另外一個平臺,JSP和JavaBean甚至不用重新編譯,因為Java字節(jié)碼都是標準的與平臺無關的。
  性能比較
  有人做過試驗,對這三種語言分別做循環(huán)性能測試及存取Oracle數(shù)據(jù)庫測試。
  在循環(huán)性能測試中,JSP只用了令人吃驚的四秒鐘就結束了20000*20000的循環(huán)。而ASP、PHP測試的是2000*2000循環(huán)(少一個數(shù)量級),卻分別用了63秒和84秒。(參考PHPLIB)。
  數(shù)據(jù)庫測試中,三者分別對 Oracle 8 進行 1000 次 Insert,Update,Select,和Delete: Jsp 需要 13 秒,Php 需要 69 秒,ASP則 需要 73 秒。
  前景分析
  目前在國內PHP與ASP應用最為廣泛。而JSP由于是一種較新的技術,國內采用的較少。但在國外,JSP已經(jīng)是比較流行的一種技術,尤其是電子商務類的網(wǎng)站,多采用JSP。
  采用PHP的網(wǎng)站如新浪網(wǎng)(sina)、***(Chinaren)等,但由于PHP本身存在的一些缺點,使得它不適合應用于大型電子商務站點,而更適合一些小型的商業(yè)站點。
  首先,PHP缺乏規(guī)模支持。其次,缺乏多層結構支持。對于大負荷站點,解決方法只有一個:分布計算。數(shù)據(jù)庫、應用邏輯層、表示邏輯層彼此分開,而且同層也可以根據(jù)流量分開,組成二維陣列。而PHP則缺乏這種支持。還有上面提到過的一點,PHP提供的數(shù)據(jù)庫接口支持不統(tǒng)一,這就使得它不適合運用在電子商務中。
  ASP和JSP則沒有以上缺陷,ASP可以通過Microsoft Windowsd的COM/DCOM獲得ActiveX規(guī)模支持,通過DCOM和Transcation Server獲得結構支持;JSP可以通過SUN Java的Java Class和EJB獲得規(guī)模支持,通過EJB/CORBA以及眾多廠商的Application Server獲得結構支持。
  三者中,JSP應該是未來發(fā)展的趨勢。世界上一些大的電子商務解決方案提供商都采用JSP/Servlet。比較出名的如IBM的E-business,它的核心是采用JSP/Servlet的WebSphere;西方另外一個非常著名的電子商務軟件提供商,Intershop。它原來的產(chǎn)品Intershop1 2, 3, 4占據(jù)了主要的電子商務軟件份額。它們都是通過CGI來提供支持 的。但去年10月后它推出了Enfinity,一個采用JSP/Servlet的電子商務Application Server,而且聲言不再開發(fā)傳統(tǒng)軟件。
  總之
  ASP,PHP,JSP三者都有相當數(shù)量的支持者,由此也可以看出三者各有所長。正在學習或使用動態(tài)頁面的朋友可根據(jù)三者的特點選擇一種適合自己的語言。