jspaspphp比較
⑴ Asp、php、Jsp區別
ASP全名Active
Server
Pages,是一個WEB伺服器端的開發環境,利用它可以產生和執行動態的、互動的、高性能的WEB服務應用程序。ASP採用腳本語言VBScript(java
script)作為自己的開發語言。
PHP是一種跨平台的伺服器端的嵌入式腳本語言。它大量地借用C,Java和Perl語言的語法,
並耦合PHP自己的特性,使WEB開發者能夠快速地寫出動態產生頁面。它支持目前絕大多數資料庫。還有一點,PHP是完全免費的,不用花錢,你可以從PHP官方站點(http:
//www.php.net)自由下載。而且你可以不受限制地獲得源碼,甚至可以從中加進你自己需要的特色。
JSP是Sun公司推出的新一代開發語言,Sun公司藉助自己在Java上的不凡造詣,將Java從Java應用程序和Java
Applet之外,又有新的碩果,就是JSP,Java
Server
Page。JSP可以在Serverlet和JavaBean的支持下,完成功能強大的站點程序。
ASP.NET
ASP
最新的版本
ASP.NET
並不完全與
ASP
早期的版本後向兼容,因為該軟體進行了完全重寫。早期的
ASP
技術實際上與
PHP
的共同之處比與ASP.NET
與
PHP的共同之處多得多,ASP.NET
是用於構建
Web
應用程序的一個完整的框架。這個模型的主要特性之一是選擇編程語言的靈活性。ASP.NET
可以使用腳本語言(如
JScript、VBScript、Perlscript
和
Python)以及編譯語言(如
VB、C#、C、Cobol、Smalltalk
和
Lisp)。新框架使用通用的語言運行環境
(CLR);先將您語言的源代碼編譯成
Microsoft
中間語言代碼,然後
CLR
執行這些代碼。
這個框架還提供真正的面向對象編程
(OOP),並支持真正的繼承、多態和封裝。.NET
類庫根據特定的任務(例如,使用
XML
或圖像處理)組織成可繼承的類。
除了編程語言和方法之外,當您用
ASP.NET
編程時,可以用
ODBC
來集成資料庫;ODBC
提供了一組一致的調用函數來訪問您的目標資料庫。
優勢和弱點:
ASP.NET
的優勢很明顯在於它簡潔的設計和實施。這是面向對象的編程人員的夢想:語言靈活,並支持復雜的面向對象特性。在這種意義下,它真正能夠與編程人員現有的技能進行互操作。
ASP.NET
的另一個優勢是其開發環境。例如,開發人員可以使用
WebMatrix(一個社區支持的工具)、Visual
Studio
.NET
或各種
Borland
工具(如
Delphi
和
C++
Builder)。例如,Visual
Studio
允許設置斷點、跟蹤代碼段和查看調用堆棧。總而言之,它是一個復雜的調試環境。許多其他第三方的
ASP.NET
IDE
解決方案也將必然出現。
但是ASP.NET強健性,是以損失效率為代價的。ASP.NET
在內存使用和執行時間方面耗費非常大,這大部分歸因於較長的代碼路徑。對基於
Web
的應用程序,這些局限可能是一個嚴重的問題,因為在
Web
上,您的應用程序可能擴展為每秒成千上萬的用戶。內存使用率還可能成為
Web
伺服器上的一個問題。
這幾個都提供在
HTML代碼中混合某種程序代碼、由語言引擎解釋執行程序代碼的能力。但JSP代碼被編譯成
Servlet並由Java虛擬機解釋執行,這種編譯操作僅在對JSP頁面的第一次請求時發生。在ASP
、PHP、JSP環境下,HTML代碼主要負責描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的
HTML頁面只依賴於Web伺服器,而ASP
、PHP、JSP頁面需要附加的語言引擎分析和執行程序代碼。程序代碼的執行結果被重新嵌入到HTML代碼中,然後一起發送給瀏覽器。ASP
、PHP、JSP三者都是面向Web伺服器的技術,客戶端瀏覽器不需要任何附加的軟體支持。
性能比較:
有人做過試驗,對這ASP、PHPP、JSP三種語言分別做迴圈性能測試及存取Oracle資料庫測試。在循環性能測試中,JSP只用了令人吃驚的四秒鍾就結束了20000*20000的迴圈。而ASP、PHP測試的是2000*2000循環(少一個數量級),卻分別用了63秒和84秒。(參考PHPLIB)。
資料庫測試中,三者分別對
Oracle
8
進行
1000
次
Insert,Update,Select和Delete:
JSP
需要
13
秒,PHP
需要
69
秒,ASP則
需要
73
秒。
前景分析:
目前在國內PHP與ASP應用最為廣泛。而JSP由於是一種較新的技術,國內採用的較少。但在國外,JSP已經是比較流行的一種技術,尤其是電子商務類的網站,多採用JSP。採用PHP的網站如新浪網(sina)、中國人(Chinaren)等,但由於PHP本身存在的一些缺點,使得它不適合應用於大型電子商務站點,而更適合一些小型的商業站點。首先,PHP缺乏規模支持。其次,缺乏多層結構支持。對於大負荷站點,解決方法只有一個:分布計算。資料庫、應用邏輯層、表示邏輯層彼此分開,而且同層也可以根據流量分開,群組成二維數組。而PHP則缺乏這種支持。還有上面提到過的一點,PHP提供的資料庫介面支持不統一,這就使得它不適合運用在電子商務中。
ASP和JSP則沒有以上缺陷,ASP可以通過Microsoft
Windowsd的COM/DCOM獲得ActiveX規模支持,通過DCOM和Transcation
Server獲得結構支持;JSP可以通過SUN
Java的Java
Class和EJB獲得規模支持,通過EJB/CORBA以及眾多廠商的Application
Server獲得結構支持。三者中,JSP應該是未來發展的趨勢。世界上一些大的電子商務解決方案提供商都採用JSP/Servlet。比較出名的如IBM的E-business,它的核心是採用JSP/Servlet的Web
Sphere。它們都是通過CGI來提供支持的。但去年10月後它推出了Enfinity,一個採用JSP/Servlet的電子商務Application
Server,而且聲言不再開發傳統軟體。
總之,ASP,PHP,JSP,.Net都有相當數量的支持者,由此也可以看出各有所長。正在學習或使用動態頁面的朋友可根據他們的特點選擇一種適合自己的語言。
參考資料:www.laoqiang.net
⑵ php,jsp,asp三者優缺點...
php優點
1. 跨平台,性能優越,跟Linux/Unix結合別跟Windows結合性能強45%,並且和很多免費的平台結合非常省錢,比如LAMP(Linux
/Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)結合,或者數據應用夠大可以考慮換
PostgreSQL或者Oracle,支持N種資料庫。(N >= 10)
2. 語法簡單,如果有學習C和Perl的很容易上手,並且跟ASP有部分類似。有成熟的開發工具,比如NuPHPed,或者Zend
Studio等等,再Linux平台下可以使用Eclipse等等。
3. 目前主流技術都支持,比如WebService、Ajax、XML等等,足夠應用。
4. 有比較完整的支持,比如使用ADODB或者PEAR::DB做資料庫抽象層,用Smarty或者smart template做模板層,如果是PHP
5.1的話,還能夠使用PDO(PHP Data Object)來訪問資料庫。
5. 有很多成熟的框架,比如支持MVC的框架:phpMVC,支持類似ASP.net的事件驅動的框架:Prado,支持類似Ruby On
Rails的快速開發的框架:Cake等等,足夠滿足你的應用需求。
6. PHP 5已經有成熟的面向對象體系,能夠適應基本的面向對象要求。適合開發大型項目。
7. 有成熟的社區來支持PHP的開發。
8.
目前已經很多大型應用都是使用PHP,比如淘寶網、Yahoo、163、Sina等等大型門戶,很多選用PHP來作為他們的開發語言,所以大型門戶都能夠選用它,我想足夠能夠你的使用了。
9. 有很多開源的框架或開源的系統可以使用,比如比較知名的開源框架有Zend
Framework、CakePHP、CodeIgniter、symfony等,開源論壇有Discuz!、Phpwind等,開源博客
WordPress,開源網店系統如Ecshop、ShopEx等,開源的SNS系統如UCHome、ThinkSNS等。
php缺點
1.對多線程支持不太好,大多數時候我們只能簡單的模擬去實現的。
2.語法不太嚴謹,比如變數不需要定義就可以使用,在c,java,c++中變數是必須先定義以後才可以使用的。
3.也許有經驗的PHP程序員最感到痛苦的地方是PHP的解釋運行機制。這種運行機制使得每個PHP頁面被解釋執行後,所有的相關資源都會被回收。也就是說,PHP在語言級別上沒有辦法讓某個對象常駐內存。在PHP中,所有的變數都是頁面級的,無論是全局變數,還是類的靜態成員,都會在頁面執行完畢後被清空。以JSP為例,在JSP中,Java
Bean的scope有四種有效值:Page、Application、Session、Request,分別對應頁面、程序、會話、請求四種生存期。但在PHP中,只有Page一種生存期。
JSP的優勢
(1)一次編寫,到處運行。在這一點上Java比PHP更出色,除了系統之外,代碼不用做任何更改。
(2)系統的多平台支持。基本上可以在所有平台上的任意環境中開發,在任意環境中進行系統部署,在任意環境中擴展。相比ASP/PHP的局限性是顯而易見的。
(3)強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多台伺服器進行集群和負載均衡,到多台Application進行事務處理,消息處理,一台伺服器到無數台伺服器,Java顯示了一個巨大的生命力。
(4)多樣化和功能強大的開發工具支持。這一點與ASP很像,Java已經有了許多非常優秀的開發工具,而且許多可以免費得到,並且其中許多已經可以順利的運行於多種平台之下。
JSP的劣勢
(1) 與ASP一樣,Java的一些優勢正是它致命的問題所在。正是由於為了跨平台的功能,為了極度的伸縮能力,所以極大的增加了產品的復雜性。
(2)
Java的運行速度是用class常駐內存來完成的,所以它在一些情況下所使用的內存比起用戶數量來說確實是「最低性能價格比」了。從另一方面,它還需要硬碟空間來儲存一系列的。java文件和。class文件,以及對應的版本文件。
ASP的特點:
1、任何開發工具皆可發展ASP
只要使用一般的文書編輯程序,如Windows記事本,就可以編輯。當然,其他網頁發展工具,例如,FrontPage Express、
FrontPage等也都可以;不過還是建議你用記事本來寫,既省錢又方便,若是使用那些所見即所得的網頁編輯來寫ASP,可能會發生一些意想不到的離奇狀態。
2、通吃各家瀏覽器
由於ASP程序是在網路伺服器端中執行,執行結果所產生的HTML文件適用於不同的瀏覽器。
3、語言相容性高
ASP與所有的ActiveX Script語言都相容,除了可結合HTML,VBScript、Java Script、Active
X伺服器組件來設計外,並可經由「plug-In(外掛組件模組)的方式,使用其他廠商(Third Party)所提供的語言。
4、隱密安全性高
如果我們在瀏覽器中直接查看網頁的原始代碼,就只能看到HTML文件,原始的ASP程序代碼是看不到的!這是因為ASP程序先於網站服務(Web
Server)端執行後,將結果轉換成標准HTML文件,再傳送到客戶端(Client)的瀏覽器上,因此,我們所辛苦撰寫的ASP程序並不會輕易地被看見進而被盜用。
5、易於操控資料庫
ASP可以輕易地通過ODBC(Open Database
Connectivity)驅動程序連接各種不同的資料庫,例如:Acess、Foxpro、dBase、Oracle等等,另外,ASP亦可將「文本文件」或是」Excel」
文件當成資料庫用。
6、面向對象學習容易
ASP具備有面向對象(Object-Oriented)功能,學習容易,ASP提供了五種方便能力強大的內建對象:Request、Response、Sever、Application以及Session,同時,若使用ASP內建的「Application」對象或」Session」對象所撰寫出來的ASP程序可以在多個網頁之間暫時保存必要的信息。
⑶ 比較JSP、PHP、ASP、.net 等幾種主流網路編程語言的優劣勢
ASP.NET優點:1. 簡潔的設計和實施。2. 語言靈活,並支持復雜的面向對象特性。3. 開發環境。缺點:1.資料庫的連接復雜。JSp優點:1、 一處編寫隨處運行。2、 系統的多台平支持。3、 強大的的可伸縮性。4、 多樣化和功能強大的開發工具支持。缺點:1、 與ASP一樣,Java的一些優勢正是它致命的問題所在。2、 缺少系統性的資料。3、 速度超慢PHP優點:1、 一種能快速學習、跨平台、有良好資料庫交互能力的開發語言。2、 簡單輕便,易學易用。3、 與Apache及其它擴展庫結合緊密。4、 良好的安全性。缺點:1、 資料庫支持的極大變化。2、 不適合應用於大型電子商務站點3、 安裝復雜。4、 缺少正規的商業支持。5、 無法實現商品化應用的開發。你可以到 http://hi..com/zhh0704/blog/item/74c58aa9713f45fb1e17a2c7.html看看!!
⑷ 網站設計語言ASP,PHP,JSP區別與介紹
ASP,全稱為Active Server Pages
ASP是微軟(Microsoft)所開發的一種後台腳本語言,它的語法和Visual BASIC類似,可以像SSI(Server Side Include)那樣把後台腳本代碼內嵌到HTML頁面中。雖然ASP簡單易用,但是它自身存在著許多缺陷,最重要的就是安全性問題。目前在微軟的 .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的廣泛應用。
ASP在執行的時候,是由IIS調用程序引擎,解釋執行嵌在HTML中的ASP代碼,最終將結果和原來的HTML一同送往客戶端。
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進行了較大的發展。
具體請看:
http://hi..com/dlwspy/blog/item/df09d4b4582f3e778ad4b25e.html