專業網站建設服務提供商
 
需求提交 | 故障申告 | 常見問題 | 付款方式 | 新聞中心  
  快捷通道: 成都網站建設 萬網域名主機分銷平臺 成都53kf購買 成都400電話辦理 網站建設需要的資料
最新簽約:
  四川慧修網絡科技有限公司 01-14
  四川達源物流有限公司 01-12
  成都中國旅行社有限公司西南分社 01-02
  成都中泰新材料有限公司 11-21
  成都淘源投資咨詢有限公司 11-21
  深圳市高富順電子有限公司 11-21
  成都中金明泰集團股份有限公司 11-21
  成都尹文特科技有限公司 10-26
  成都萬安彩印有限公司 10-20
  芳心草園藝 09-29
  四川大策建設工程項目管理有限公 09-29
  四川科佳利環保科技有限公司 09-29
  四川富生股權投資基金管理有限公 08-28
  成都芒果速記服務有限公司 08-20
  四川新誠實鋼構工程有限責任公司 08-13
您當前的位置是:首頁 >> 常見問題 >> 網站建設常見問題 >> asp,asp.net,php,jsp語言的區別及優勢
搜索:  

asp,asp.net,php,jsp語言的區別及優勢
更新時間:2012-10-09  閱讀次數:9928  【加入收藏】 【關閉窗口

  asp,asp.net,php,jsp語言的區別及各自的優勢

  目前,最常用的四種動態網頁語言有ASP(Active Server Pages);ASP.NET;JSP(JavaServer Pages);PHP (Hypertext Preprocessor)。

  ASP,全稱為Active Server Pages
  ASP是微軟(Microsoft)所開發的一種后臺腳本語言,它的語法和Visual BASIC類似,可以像SSI(Server Side Include)那樣把后臺腳本代碼內嵌到HTML頁面中。雖然ASP簡單易用,但是它自身存在著許多缺陷,最重要的就是安全性問題。ASP在執行的時候,是由IIS調用程序引擎,解釋執行嵌在HTML中的ASP代碼,最終將結果和原來的HTML一同送往客戶端。

  ASP.NET
  ASP.NET的前身ASP技術,是在IIS 2.0上首次推出(Windows NT 3.51),當時與 ADO 1.0 一起推出,在IIS 3.0 (Windows NT 4.0)發揚光大,成為服務器端應用程序的熱門開發工具,微軟還特別為它量身打造了Visual InterDev開發工具,在1994年到2000年之間,ASP技術已經成為微軟推展Windows NT 4.0平臺的關鍵技術之一,數以萬計的ASP網站也是這個時候開始如雨后春筍般的出現在網絡上。

  為了將XSP移植到CLR中,XSP團隊將XSP的內核程序全部以C#語言重新撰寫(在內部的項目代號是 "Project Cool",但是當時對公開場合是保密的),并且改名為ASP+,作為ASP技術的后繼者,并且也會提供一個簡單的移轉方法給ASP開發人員。ASP+首次的Beta版本以及應用在PDC 2000中亮相,由Bill Gates主講Keynote(即關鍵技術的概覽),由富士通公司展示使用COBOL語言撰寫ASP+應用程序,并且宣布它可以使用Visual Basic.NET、C#、Perl與Python語言(后兩者由ActiveState公司開發的互通工具支持)來開發。

  在2000年第二季時,微軟正式推動.NET策略,ASP+也順理成章的改名為ASP.NET,經過四年的開發,第一個版本的ASP.NET在2002年1月5日亮相(和.NET Framework 1.0),Scott Guthrie也成為ASP.NET的產品經理(到現在已經開發了數個微軟產品,像ASP.NET AJAX和Microsoft Silverlight)。目前最新版本的 ASP.NET 4.0 以及 .NET Framework 4.0 已經在VS2010平臺內應用。目前在微軟的 .net 戰略中新推出的ASP.net 借鑒了Java技術的優點,使用C Sharp (C#) 語言作為ASP.net的推薦語言,同時改進了以前ASP的安全性差等缺點。但是,使用ASP/ASP.net仍有一定的局限性,因為從某種角度來說它們只能在微軟的 Windows NT/2000/XP + IIS的服務器平臺上良好運行(雖然像ChilliSoft提供了在UNIX/Linux上運行ASP的解決方案,但是目前ASP在UNIX/Linux上的應用可以說幾乎為0)。所以平臺的局限性和ASP自身的安全性限制了ASP的廣泛應用。

  PHP,全稱為PHP: Hypertext Preprocessor

  PHP 的全名非常有趣,它是一個巢狀的縮寫名稱——“PHP: Hypertext Preprocessor”,打開縮寫還是縮寫。PHP是一種HTML 內嵌式的語言 (就像上面講的ASP那樣)。而 PHP 獨特的語法混合了C,Java,Perl以及 PHP 式的新語法。它可以比 CGI 或者 Perl 更快速地執行動態網頁。

  PHP的源代碼完全公開,在 Open Source 意識抬頭的今天,它更是這方面的中流砥柱。不斷地有新的函數庫加入,以及不停地更新,使得 PHP 無論在 UNIX 或是 Win32 的平臺上都可以有更多新的功能。它提供豐富的函數,使得在程式設計方面有著更好的資源。目前PHP的最新版本為4.1.1 ,它可以在Win32以及UNIX/Linux等幾乎所有的平臺上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比較傳統 CGI 或者 ASP 等技術有了更好的表現。

  平臺無關性是PHP的最大優點,但是在優點的背后,還是有一些小小的缺點的。如果在PHP中不使用ODBC,而用其自帶的數據庫函數(這樣的效率要比使用ODBC高)來連接數據庫的話, 使用不同的數據庫,PHP的函數名不能統一。這樣,使得程序的移植變得有些麻煩。不過,作為目前應用最為廣泛的一種后臺語言,PHP的優點還是異常明顯的。

  JSP,全稱為Java Server Pages / Servlet

  JSP和Servlet要放在一起講,是因為它們都是Sun公司的J2EE(Java 2 platform Enterprise Edition)應用體系中的一部分。

  Servlet的形式和前面講的CGI差不多,它是HTML代碼和后臺程序分開的。它們的啟動原理也差不多,都是服務器接到客戶端的請求后,進行應答。不同的是,CGI對每個客戶請求都打開一個進程(Process),而Servlet卻在響應第一個請求的時候被載入,一旦Servlet被載入,便處于已執行狀態。對于以后其他用戶的請求,它并不打開進程,而是打開一個線程(Thread),將結果發送給客戶。由于線程與線程之間可以通過生成自己的父線程(Parent Thread)來實現資源共享,這樣就減輕了服務器的負擔,所以,Java Servlet可以用來做大規模的應用服務。

  雖然在形式上JSP和ASP或PHP看上去很相似——都可以被內嵌在HTML代碼中。但是,它的執行方式和ASP或PHP完全不同。在JSP被執行的時候,JSP文件被JSP解釋器(JSP Parser)轉換成Servlet代碼,然后Servlet代碼被Java編譯器編譯成 .class 字節文件,這樣就由生成的Servlet來對客戶端應答。所以,JSP可以看做是Servlet的腳本語言(Script Language)版。

  由于JSP/Servlet都是基于Java的,所以它們也有Java語言的最大優點——平臺無關性,也就是所謂的“一次編寫,隨處運行(WORA – Write Once, Run Anywhere)”。除了這個優點,JSP/Servlet的效率以及安全性也是相當驚人的。因此,JSP/Servlet雖然在國內目前的應用并不廣泛,但是其前途不可限量。

  在調試JSP代碼時,如果程序出錯,JSP服務器會返回出錯信息,并在瀏覽器中顯示。這時,由于JSP是先被轉換成Servlet后再運行的,所以,瀏覽器中所顯示的代碼出錯的行數并不是JSP源代碼的行數,而是指轉換后的Servlet程序代碼的行數。這給調試代碼帶來一定困難。所以,在排除錯誤時,可以采取分段排除的方法(在可能出錯的代碼前后輸出一些字符串,用字符串是否被輸出來確定代碼段從哪里開始出錯),逐步縮小出錯代碼段的范圍,最終確定錯誤代碼的位置。

  JSP和ASP相比較:

  運行速度、運行開銷、運行平臺、擴展性、安全性、函數支持、廠商支持、對XML的支持等等,ASP都不是JSP的對手。COM組件的復雜性實編程實現有一定的難度。而JAVABeans和JAVA的結合卻是天衣無縫的。

  JSP和ASP.NET相比較:

  1.相對C#,JSP的腳本語言JAVA也是面向對象的、分布式的、解釋的語言。

  2.與C#相似JAVA同樣去掉了難以理解的指針等概念,取而代之的是類和對象。

  3. JSP有一項全新的技術――Servlet(服務器端程序)很好的節約了服務器資源。

  4.JAVABeans是針對ASP.NET的Server Control的技術。只要會JAVA, JavaBeans就很容易寫出。

  5.再有就是JAVA的JDBC數據庫連接技術。

  6.JSP對XML同樣有十分廣泛的支持。

  1)    面向對象性:
  ASP+將C#作為一種面向對象語言,在很多方面來看,C#將成為微軟的與Java相似的語言。
  C#另一個有趣的地方是所有對象都自動變成為COM對象。如果C#能取得很大的市場份額,那么它將給ASP+帶來類似于Java的功能,并且具備更快的性能,因為它可以和Windows環境緊密集成。 
   C# 是ASP+開發中一個最重要的功能,微軟會將C#發展成為Java的強勁對手。這也是他們.Net框架的一個重要組成部分。我認為C#是微軟在編程市場上擊敗對手的主要工具。我期待著微軟能在這個產品后面傾注全力,這樣,C#可以成為許多程序員的又一種選擇。C#產生的結果是將進一步加固微軟和Sun產品的戰線。這對用戶是有利的,他們可以選擇兩者之一來開發新的應用。

  2) 數據庫連接: 
  ASP另一個亮點是它使用ADO對象,ODBC, OLE-DB和事務處理管理器。因此ASP Web數據庫應用開發特別簡單。ASP+發展了更多的功能,因為有了ADO+!ADO+帶來了更強大更快速的功能。JSP和JDBC目前在易用性和性能上同ASP/ADO相比已有些落后,當新版本ASP+/ADO+出現后這樣的差別會更明顯。我個人希望SUN應盡快能花大力氣來追趕ASP+/ADO+的組合。

  3) 大型站點應用:
    ASP+將對大型站點(web farms)有更好的支持。事實上,微軟在這方面付出了巨大的努力。 ASP+可以讓你考慮到多服務器(multiple servers)的場合,當你需要更強大的功能時,僅僅只需要增加一臺服務器。整個.Net框架已經充分地提供了這個方法。ASP+提供了外部會話狀態(external session state)來提供內置式web farm的支持。另外,由于請求的各組件相互間經過了充分的優化,所以速度很快。
  于是ASP+現在可以在大型項目方面與JSP一樣具有等同的能力。 而ASP+還有價格方面的優勢,因為所有的組件將是服務器操作系統的一部分。對于JSP,你需要購買昂貴的應用服務器群來達到同樣的目的。

  4) ASP+還提供更多的其它方面的新特性,例如:
  *內置的對象緩存和頁面結果緩存。
  *內置的XML支持,可用于XML數據集的簡單處理。
  *服務器控制提供了更充分的交互式控制。
  ASP+確實對ASP進行了較大的發展。

  JSP 和PHP相比較
  JSP是一個業界標準,得到Sun,IBM,Oracle,BEA,Apache等 的支持,PHP只是一個開發組織并不強的free ware ;PHP的性能不好,是解釋型的,JSP采用JIT編譯后,和c不相上下,而且支持多線程; JSP支持的平臺眾多,從Win98,NT,Unix,Linux,FreeBSD到AS/400,OS/390,而PHP支持的平臺有限; JSP可以利用JDBC和眾多主流關系數據庫連接,而PHP目前只支持MySql和Oracle等有限的幾種; JSP中的組件,JavaBean和EJB開發非常容易,而且還可以在JSP中使用Java所有的類和功能。而PHP只能用C寫一些功能有限的組件,而且編寫較為復雜; 利用JSP可以支持EJB,以支持Transaction和CORBA標準,而且還可以支持LDAP,Message等服務,使得訪問ERP,CICS,MQ等企業應用非常容易。而PHP在這方面先天不足,所以對于電子商務這樣的Mission-critical的應用來說,PHP并不適合。
性能比較
  有人做過試驗,對這三種語言分別做循環性能測試及存取Oracle數據庫測試。在循環性能測試中,JSP只用了令人吃驚的四秒鐘就結束了20000*20000的循環。而ASP、PHP測試的是2000*2000循環(少一個數量級),卻分別用了63秒和84秒。
  數據庫測試中,三者分別對 Oracle 8 進行 1000 次 Insert,Update,Select,和Delete: Jsp 需要 13 秒,Php 需要 69 秒,ASP則 需要 73 秒。

返回上一頁
上一篇:什么是二維碼
下一篇:App是什么意思
   
  常見問題
  網站建設常見問題
  虛擬主機常見問題
  企業郵局常見問題
  域名注冊常見問題
  網站推廣常見問題
  400電話申請常見問題
  USB控制軟件常見問題
  網站客服軟件常見問題
電話:400-005-3721 028-87333721
傳真:028-66083721
郵箱:[email protected]
地址:成都市青羊區光華東三路486號3棟11樓12號
點擊這里給我發消息  點擊這里給我發消息
點擊這里給我發消息  點擊這里給我發消息 點擊這里給我發消息
首頁 | 關于我們 | 新聞中心 | 人力資源 | 企業家風采 | 客戶成功故事 | 友情鏈接 | 聯系我們 | 返回頂部
服務熱線:400-005-3721 028-87333721 電子郵箱:[email protected] 地址:成都市青羊區光華東三路486號3棟11樓12號
傳真:028-66083721 郵編:610091 網址:www.naseel.tw
Copyright © 2010 四川萬維科技有限公司 All Rights Reserved   蜀ICP備11006886號
贵州11选5电视走势图