aspjspphp
A. 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
B. ASP、JSP、PHP三種語言建站,哪個更有優勢
ASP是Active(活動) Server(伺服器) Pages(頁面)的簡稱,作為微軟公司的偉大之作。微軟一直留給大眾的印象都是以易操作性著稱。而且加上默認的腳本語言是VB。所以,ASP是非常容易上手的。即使是沒有學過程序的新手也能非常快的上手。作為微軟的產品它能完美支持強大的MS sql資料庫和ACCESS資料庫。ASP在執行的時候,是由IIS調用程序引擎,解釋執行嵌在HTML中的ASP代碼,最終將結果和原來的HTML一同送往客戶端。缺點是安全性偏低,而且只能在windows系統中運行,限制了ASP的廣泛應用。
JSP的開發成本高,工程量巨大,一般需要專業的團隊開發,而且它耗費的工期也是最長的。JSP技術類似於ASP,在傳統的網頁HTML文件中插入Java程序段和JSP標記,從而形成JSP文件。JSP是跨平台的WEB應用,支持各種伺服器操作系統。而且安全性極高,很多大型電商、金融解決方案都使用該方案。
PHP和ASP同樣屬於腳本語言,鏈接的資料庫一般是MySql、Access、MsSql(SqlServer)等等其他資料庫。其安全性優於ASP,源代碼完全開放,雖然支持各種操作系統,但是,其Apache 的環境最好是Unix。運行效率依次為MsSql(SqlServer)>MySql>Access。不過,PHP的伺服器搭建環境相對於ASP來說會復雜些,需要安裝Apache + MySql + PHP,不像ASP只需要安裝IIS即可。
摘自天下數據!
C. asp jsp php 區別
1、ASP是Active Server Page的縮寫,意為「活動伺服器網頁」。ASP是微軟公司開發的代替CGI腳本程序的一種應用,它可以與資料庫和其它程序進行交互,是一種簡單、方便的編程工具。ASP的網頁文件的格式是.asp,常用於各種動態網站中。 ASP是一種伺服器端腳本編寫環境,可以用來創建和運行動態網頁或web應用程序。
2、JSP(全稱JavaServer Pages)是由Sun Microsystems公司主導創建的一種動態網頁技術標准。JSP部署於網路伺服器上,可以響應客戶端發送的請求,並根據請求內容動態地生成HTML、XML或其他格式文檔的Web網頁,然後返回給請求者。JSP技術以Java語言作為腳本語言,為用戶的HTTP請求提供服務,並能與伺服器上的其它Java程序共同處理復雜的業務需求。
3、PHP即「超文本預處理器」,是一種通用開源腳本語言。PHP是在伺服器端執行的腳本語言,與C語言類似,是常用的網站編程語言。PHP獨特的語法混合了C、Java、Perl以及 PHP 自創的語法。利於學習,使用廣泛,主要適用於Web開發領域。
D. php與asp,jsp的區別是什麼
php運行的環境是unix linux下配合mysql資料庫運行的速度是最快的,因為研究這些伺服器的人相對研究windows的要少很多,所以安全性就想對高些,但具體還要看開發人員的安全意識。
asp是windows的東西,歷史也很悠久了,現在出了asp.net功能也是不錯的,asp.net+mssqlserver也是很好的配合
jsp是一種安全性比較高的編程語言,適合大型需要安全的項目,開發周期長。
E. 在程序中PHP,JSP,ASP分別是什麼,有什麼用
php,jsp和asp分別是3種不同的腳本語言
腳本語言,腳本語言或擴建的語言,又叫動態語言。是一種編程語言控制軟體應用程序。腳本通常以文本(如ASCII)保存,只在被調用時進行解釋或編譯
ASP是Active Server Page的縮寫,意為「動態伺服器頁面」。ASP是微軟公司開發的代替CGI腳本程序的一種應用,它可以與資料庫和其它程序進行交互,是一種簡單、方便的編程工具。ASP的網頁文件的格式是。asp,現在常用於各種動態網站中。另外阿斯匹林、天門冬氨酸、阿里軟體銷售合作夥伴、美國武裝系統暨程序公司等的縮寫也都為ASP。
PHP,是英文超級文本預處理語言Hypertext Preprocessor的縮寫。PHP 是一種 HTML 內嵌式的語言,是一種在伺服器端執行的嵌入HTML文檔的腳本語言,語言的風格有類似於C語言,被廣泛的運用。
JSP(Java Server Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標准。JSP技術有點類似ASP技術,它是在傳統的網頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件(*.jsp)。 用JSP開發的Web應用是跨平台的,既能在Linux下運行,也能在其他操作系統上運行。
但是,到目前為止,微軟已經停止對asp的更新了
一般,做中小型網站都用的php, 製作大型網站一般用jsp
希望對樓主有用
F. ASP\JSP\PHP相比各有什麼優缺點
ASP、JSP、和PHP的優點和缺點:
一、ASP
優點:
1、無需編譯
2、易於生成
3、獨立於瀏覽器
4、面向對象
5、與任何ActiveX scripting 語言兼容
6、源程序碼不會外漏
缺點:
1、Windows本身的所有問題都會一成不變的也累加到了它的身上。安全性、穩定性、跨平台性都會因為與NT的捆綁而顯現出來。
2、ASP由於使用了COM組件所以它會變的十分強大,但是這樣的強大由於Windows NT系統最初的設計問題而會引發大量的安全問題。只要在這樣的組件或是操作中一不注意,哪么外部攻擊就可以取得相當高的許可權而導致網站癱瘓或者數據丟失。
3、由於ASP還是一種Script語言所沒除了大量使用組件外,沒有辦法提高其工作效率。它必須面對即時編繹的時間考驗,同時我們還不知其背後的組件會是一個什麼樣的狀況。
4、無法實現跨操作系統的應用。當然這也是微軟的理由之一,只有這樣才能發揮ASP最佳的能力。可是我卻認為正是Windows限制了ASP,ASP的概念本就是為一個能讓系統運行於一個大的多樣化環境而設計的。
5、還無法完全實現一些企業級的功能:完全的集群、負載均橫。
二、JSP
優點:
1、 一處編寫隨處運行。
2、 系統的多台平支持。
3、 強大的的可伸縮性。
4、 多樣化和功能強大的開發工具支持。
缺點:
1、 與ASP一樣,Java的一些優勢正是它致命的問題所在。
2、 缺少系統性的資料。
3、 開發速度超慢
三、PHP
優點:
1、 一種能快速學習、跨平台、有良好資料庫交互能力的開發語言。
2、 簡單輕便,易學易用。
3、 與Apache及其它擴展庫結合緊密。
4、 良好的安全性。
缺點:
1、 在windows平台運行的安全性和穩定性不如Linux/Unix。
(6)aspjspphp擴展閱讀:
ASP.NET也是常用的網站開發語言之一:
優點:
1. 簡潔的設計和實施。
2. 語言靈活,並支持復雜的面向對象特性。
3. 開發環境。
缺點:
1.資料庫的連接復雜。
2.不具有跨平台性,只支持windows平台。
G. ASP、PHP、JSP各有什麼不同,主要區分點在哪裡
三者不同之處在於asp的代碼在<%%>中,php代碼在<?php
?>中,jsp可以在<%%>中,也可以在特定的網頁標識符中。asp和jsp區分在語法書寫格式的不同,例如asp是if...then
end
if而jsp是if(){}z這樣。
H. jsp和 asp和php有什麼不一樣
sp過時,安全性能低,逐漸被淘汰
php是網頁方面的永恆,適合中小型企業方面的系統及網站。從它的發展趨勢,以及各種開源程序(dedecms,phpcms,discuz,ecshop)等等,我相信php肯定會存活下去。所以說只想從事網頁製作的得學這個,各種中小型系統也能做。
JSP,高級很多,安全性最高,適合大型項目,如銀行,大型企業系搜索統等等,網頁方面也能做。
簡 介:ASP全名Active Server Pages,是一個WEB伺服器端的開發環境,利用它可以產生和執行動態的、互動的、高性能的WEB服務應用程序
(1)ASP採用腳本語言VBScript(Java script)作為自己的開發語言。
(2)PHP是一種跨平台的伺服器端的嵌入式腳本語言。它大量地借用C, Java和Perl語言的語法, 並耦合PHP自己的特性,使WEB開發者能夠快速地寫出動態產生頁面。它支持目前絕大多數資料庫。還有一點,PHP是完全免費的,不用花錢,而且你可以不受限制地獲得源碼,甚至可以從中加進你自己需要的特色。
(3)JSP是Sun公司推出的新一代網站開發語言,Sun公司藉助自己在Java上的不凡造詣,將Java從Java應用程序和Java Applet之外,又有新的碩果,就是JSP,Java Server Page。JSP可以在Serverlet和JavaBean的支持下,完成功能強大的站點程序。
三者都提供在 HTML代碼中混合某種程序代碼、由語言引擎解釋執行程序代碼的能力。但JSP代碼被編譯成 Servlet並由Java虛擬機解釋執行,這種編譯操作僅在對JSP頁面的第一次請求時發生。在ASP 、PHP、JSP環境下,HTML代碼主要負責描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的 HTML頁面只依賴於Web伺服器,而ASP 、PHP、JSP頁面需要附加的語言引擎分析和執行程序代碼。程序代碼的執行結果被重新嵌入到HTML代碼中,然後一起發送給瀏覽器。ASP 、PHP、JSP三者都是面向Web伺服器的技術,客戶端瀏覽器不需要任何附加的軟體支持。
技術特點
ASP:
1. 使用VBScript 、 JScript等簡單易懂的腳本語言,結合HTML代碼,即可快速地完成網站的應用程序。
2. 無須compile編譯,容易編寫,可在伺服器端直接執行。
3. 使用普通的文本編輯器,如Windows的記事本,即可進行編輯設計。
4. 與瀏覽器無關(Browser Independence), 客戶端只要使用可執行HTML碼的瀏覽器,即可瀏覽Actbive Server Pages所設計的網頁內容。Active ServerPages 所使用的腳本語言(VBScript 、 Jscript)均在WEB伺服器端執行,客戶端的瀏覽器不需要能夠執行這些腳本語言。
5.Active Server Pages能與任何ActiveX scripting語言兼容。除了可使用VB Script或JScript語言來設計外,還通過plug-in的方式,使用由第三方所提供的其它腳本語言,譬如REXX 、Perl 、Tcl等。腳本引擎是處理腳本程序的COM(Component Object Model) 對象。
6. 可使用伺服器端的腳本來產生客戶端的腳本。
7. ActiveX Server Components(ActiveX 伺服器組件 )具有無限可擴充性。可以使用Visual Basic 、Java 、Visual C++ 、COBOL等程序設計語言來編寫你所需要的ActiveX Server Component 。
PHP:
1. 資料庫連接
PHP可以編譯成具有與許多資料庫相連接的函數。PHP與MySQL是現在絕佳的群組合。你還可以自己編寫外圍的函數去間接存取資料庫。通過這樣的途徑當你更換使用的資料庫時,可以輕松地修改編碼以適應這樣的變化。PHPLIB就是最常用的可以提供一般事務需要的一系列基庫。但PHP提供的資料庫介面支持彼此不統一,比如對Oracle, MySQL,Sybase的介面,彼此都不一樣。這也是PHP的一個弱點。
JSP:
1. 將內容的產生和顯示進行分離
使用JSP技術,Web頁面開發人員可以使用HTML或者XML標識來設計和格式化最終頁面。使用JSP標識或者小腳本來產生頁面上的動態內容。產生內容的邏輯被封裝在標識和JavaBeans群組件中,並且捆綁在小腳本中,所有的腳本在伺服器端執行。如果核心邏輯被封裝在標識和Beans中,那麼其它人,如Web管理人員和頁面設計者,能夠編輯和使用JSP頁面,而不影響內容的產生。在伺服器端,JSP引擎解釋JSP標識,產生所請求的內容(例如,通過存取JavaBeans群組件,使用JDBC技術存取資料庫),並且將結果以HTML(或者XML)頁面的形式發送回瀏覽器。這有助於作者保護自己的代碼,而又保證任何基於HTML的Web瀏覽器的完全可用性。
2. 強調可重用的群組件
絕大多數JSP頁面依賴於可重用且跨平台的組件(如:JavaBeans或者Enterprise JavaBeans)來執行應用程序所要求的更為復雜的處理。開發人員能夠共享和交換執行普通操作的組件,或者使得這些組件為更多的使用者或者用戶團體所使用。基於組件的方法加速了總體開發過程,並且使得各種群組織在他們現有的技能和優化結果的開發努力中得到平衡。
3. 採用標識簡化頁面開發
Web頁面開發人員不會都是熟悉腳本語言的程序設計人員。JavaServer Page技術封裝了許多功能,這些功能是在易用的、與JSP相關的XML標識中進行動態內容產生所需要的。標準的JSP標識能夠存取和實例化 JavaBeans組件,設定或者檢索群組件屬性,下載Applet,以及執行用其它方法更難於編碼和耗時的功能。
通過開發定製化標識庫,JSP技術是可以擴展的。今後,第三方開發人員和其它人員可以為常用功能建立自己的標識庫。這使得Web頁面開發人員能夠使用熟悉的工具和如同標識一樣的執行特定功能的構件來工作。
JSP技術很容易整合到多種應用體系結構中,以利用現存的工具和技巧,並且擴展到能夠支持企業級的分布式應用。作為採用Java技術家族的一部分,以及Java 2EE的一個成員,JSP技術能夠支持高度復雜的基於Web的應用。
由於JSP頁面的內置腳本語言是基於Java程序設計語言的,而且所有的JSP頁面都被編譯成為Java Servlet,JSP頁面就具有Java技術的所有好處,包括健壯的存儲管理和安全性。
作為Java平台的一部分,JSP擁有Java程序設計語言「一次編寫,各處執行」的特點。隨著越來越多的供貨商將JSP支持加入到他們的產品中,您可以使用自己所選擇的伺服器和工具,修改工具或伺服器並不影響目前的應用。
應用范圍
ASP是Microsoft開發的動態網頁語言,也繼承了微軟產品的一貫傳統,只能執行於微軟的伺服器產品,IIS(Internet Information Server)(windows NT)和PWS(Personal Web Server)(windows 98)上。Unix下也有ChiliSoft的組件來支持ASP,但是ASP本身的功能有限,必須通過ASP+COM的群組合來擴充,Unix下的COM實現起來非常困難。
PHP3可在Windows,Unix,Linux的Web伺服器上正常執行,還支持IIS,Apache等一般的Web伺服器,用戶更換平台時,無需變換PHP3代碼,可即拿即用。
JSP同PHP3類似,幾乎可以執行於所有平台。如Win NT,Linux,Unix。在NT下IIS通過一個外加伺服器,例如JRUN或者ServletExec,就能支持JSP。知名的Web伺服器Apache已經能夠支持JSP。由於Apache廣泛應用在NT、Unix和Linux上,因此JSP有更廣泛的執行平台。雖然現在NT操作系統佔了很大的市場份額,但是在伺服器方面Unix的優勢仍然很大,而新崛起的Linux更是來勢不小。從一個平台移植到另外一個平台,JSP和JavaBean甚至不用重新編譯,因為Java位元組碼都是標準的與平台無關的。
性能比較
有人做過試驗,對這三種語言分別做迴圈性能測試及存取Oracle資料庫測試。
在循環性能測試中,JSP只用了令人吃驚的四秒鍾就結束了20000*20000的迴圈。而ASP、PHP測試的是2000*2000循環(少一個數量級),卻分別用了63秒和84秒。(參考PHPLIB)。
資料庫測試中,三者分別對 Oracle 8 進行 1000 次 Insert,Update,Select和Delete: JSP 需要 13 秒,PHP 需要 69 秒,ASP則 需要73 秒。
I. 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的支持下,完成功能強大的站點程序。
三者都提供在 HTML代碼中混合某種程序代碼、由語言引擎解釋執行程序代碼的能力。但JSP代碼被編譯成 Servlet並由Java虛擬機解釋執行,這種編譯操作僅在對JSP頁面的第一次請求時發生。在ASP 、PHP、JSP環境下,HTML代碼主要負責描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的 HTML頁面只依賴於Web伺服器,而ASP 、PHP、JSP頁面需要附加的語言引擎分析和執行程序代碼。程序代碼的執行結果被重新嵌入到HTML代碼中,然後一起發送給瀏覽器。ASP 、PHP、JSP三者都是面向Web伺服器的技術,客戶端瀏覽器不需要任何附加的軟體支持。
技術特點
ASP:
1. 使用VBScript 、 JScript等簡單易懂的腳本語言,結合HTML代碼,即可快速地完成網站的應用程序。
2. 無須compile編譯,容易編寫,可在伺服器端直接執行。
3. 使用普通的文本編輯器,如Windows的記事本,即可進行編輯設計。
4. 與瀏覽器無關(Browser Independence), 客戶端只要使用可執行HTML碼的瀏覽器,即可瀏覽Active Server Pages所設計的網頁內容。Active ServerPages 所使用的腳本語言(VBScript 、 Jscript)均在WEB伺服器端執行,客戶端的瀏覽器不需要能夠執行這些腳本語言。
5.Active Server Pages能與任何ActiveX scripting語言兼容。除了可使用VB Script或JScript語言來設計外,還通過plug-in的方式,使用由第三方所提供的其它腳本語言,譬如REXX 、Perl 、Tcl等。腳本引擎是處理腳本程序的COM(Component Object Model) 對象。
6. 可使用伺服器端的腳本來產生客戶端的腳本。
7. ActiveX Server Components(ActiveX 伺服器組件 )具有無限可擴充性。可以使用Visual Basic 、Java 、Visual C++、COBOL等程序設計語言來編寫你所需要的ActiveX Server Component 。
PHP:
1"資料庫連接
PHP可以編譯成具有與許多資料庫相連接的函數。PHP與MySQL是現在絕佳的群組合。你還可以自己編寫外圍的函數去間接存取資料庫。通過這樣的途徑當你更換使用的資料庫時,可以輕松地修改編碼以適應這樣的變化。PHPLIB就是最常用的可以提供一般事務需要的一系列基庫。但PHP提供的資料庫介面支持彼此不統一,比如對Oracle, MySQL,Sybase的介面,彼此都不一樣。這也是PHP的一個弱點。
JSP:
1"將內容的產生和顯示進行分離
使用JSP技術,Web頁面開發人員可以使用HTML或者XML標識來設計和格式化最終頁面。使用JSP標識或者小腳本來產生頁面上的動態內容。產生內容的邏輯被封裝在標識和JavaBeans群組件中,並且捆綁在小腳本中,所有的腳本在伺服器端執行。如果核心邏輯被封裝在標識和Beans中,那麼其它人,如Web管理人員和頁面設計者,能夠編輯和使用JSP頁面,而不影響內容的產生。在伺服器端,JSP引擎解釋JSP標識,產生所請求的內容(例如,通過存取JavaBeans群組件,使用JDBC技術存取資料庫),並且將結果以HTML(或者XML)頁面的形式發送回瀏覽器。這有助於作者保護自己的代碼,而又保證任何基於HTML的Web瀏覽器的完全可用性。
2"強調可重用的群組件
絕大多數JSP頁面依賴於可重用且跨平台的組件(如:JavaBeans或者Enterprise JavaBeans)來執行應用程序所要求的更為復雜的處理。開發人員能夠共享和交換執行普通操作的組件,或者使得這些組件為更多的使用者或者用戶團體所使用。基於組件的方法加速了總體開發過程,並且使得各種群組織在他們現有的技能和優化結果的開發努力中得到平衡。
3"採用標識簡化頁面開發
Web頁面開發人員不會都是熟悉腳本語言的程序設計人員。JavaServer Page技術封裝了許多功能,這些功能是在易用的、與JSP相關的XML標識中進行動態內容產生所需要的。標準的JSP標識能夠存取和實例化 JavaBeans組件,設定或者檢索群組件屬性,下載Applet,以及執行用其它方法更難於編碼和耗時的功能。
通過開發定製化標識庫,JSP技術是可以擴展的。今後,第三方開發人員和其它人員可以為常用功能建立自己的標識庫。這使得Web頁面開發人員能夠使用熟悉的工具和如同標識一樣的執行特定功能的構件來工作。
JSP技術很容易整合到多種應用體系結構中,以利用現存的工具和技巧,並且擴展到能夠支持企業級的分布式應用。作為採用Java技術家族的一部分,以及Java 2EE的一個成員,JSP技術能夠支持高度復雜的基於Web的應用。
由於JSP頁面的內置腳本語言是基於Java程序設計語言的,而且所有的JSP頁面都被編譯成為Java Servlet,JSP頁面就具有Java技術的所有好處,包括健壯的存儲管理和安全性。
作為Java平台的一部分,JSP擁有Java程序設計語言「一次編寫,各處執行」的特點。隨著越來越多的供貨商將JSP支持加入到他們的產品中,您可以使用自己所選擇的伺服器和工具,修改工具或伺服器並不影響目前的應用。
應用范圍
ASP是Microsoft開發的動態網頁語言,也繼承了微軟產品的一貫傳統,只能執行於微軟的伺服器產品,IIS(Internet Information Server) (windows NT)和PWS(Personal Web Server)(windows 98)上。Unix下也有ChiliSoft的組件來支持ASP,但是ASP本身的功能有限,必須通過ASP+COM的群組合來擴充,Unix下的COM實現起來非常困難。
PHP3可在Windows,Unix,Linux的Web伺服器上正常執行,還支持IIS,Apache等一般的Web伺服器,用戶更換平台時,無需變換PHP3代碼,可即拿即用。
JSP同PHP3類似,幾乎可以執行於所有平台。如Win NT,Linux,Unix。在NT下IIS通過一個外加伺服器,例如JRUN或者ServletExec,就能支持JSP。知名的Web伺服器Apache已經能夠支持JSP。由於Apache廣泛應用在NT、Unix和Linux上,因此JSP有更廣泛的執行平台。雖然現在NT操作系統佔了很大的市場份額,但是在伺服器方面Unix的優勢仍然很大,而新崛起的Linux更是來勢不小。從一個平台移植到另外一個平台,JSP和JavaBean甚至不用重新編譯,因為Java位元組碼都是標準的與平台無關的。
性能比較
有人做過試驗,對這三種語言分別做迴圈性能測試及存取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三者都有相當數量的支持者,由此也可以看出三者各有所長。正在學習或使用動態頁面的朋友可根據三者的特點選擇一種適合自己的語言
ASP是Active Server Page的縮寫,意為「活動伺服器網頁」。ASP是微軟公司開發的代替CGI腳本程序的一種應用,它可以與資料庫和其它程序進行交互,是一種簡單、方便的編程工具。ASP的網頁文件的格式是.asp,現在常用於各種動態網站中。 ASP是一種伺服器端腳本編寫環境,可以用來創建和運行動態網頁或web應用程序。ASP網頁可以包含HTML標記、普通文本、腳本命令以及COM組件等。利用ASP可以向網頁中添加互動式內容(如在線表單),也可以創建使用HTML網頁作為用戶界面的web應用程序。 與HTML相比,ASP網頁具有以下特點:
(1)利用ASP可以實現突破靜態網頁的一些功能限制,實現動態網頁技術;
(2)ASP文件是包含在HTML代碼所組成的文件中的,易於修改和測試;
(3)伺服器上的ASP解釋程序會在伺服器端制定ASP程序,並將結果以HTML格式傳送到客戶端瀏覽器上,因此使用各種瀏覽器都可以正常瀏覽ASP所產生的網頁;
(4)ASP提供了一些內置對象,使用這些對象可以使伺服器端腳本功能更強。例如可以從web瀏覽器中獲取用戶通過HTML表單提交的信息,並在腳本中對這些信息進行處理,然後向web瀏覽器發送信息;
(5)ASP可以使用伺服器端ActiveX組建來執行各種各樣的任務,例如存取資料庫、發現哦那個Email或訪問文件系統等。
(6)由於伺服器是將ASP程序執行的結果以HTML格式傳回客戶端瀏覽器,因此使用者不會看到ASP所編寫的原始程序代碼,可放置ASP程序代碼被竊取。
ASP的工作原理:
當在Web站點中融入ASP功能後,將發生以下事情:
1、用戶向瀏覽器地址欄輸入網址,默認頁面的擴展名是.asp。
2、瀏覽器向伺服器發出請求。
3、伺服器引擎開始運行ASP程序。
4、ASP文件按照從上到下的順序開始處理,執行腳本命令,執行HTML頁面內容。
5、頁面信息發送到瀏覽器。
ASP的運行環境
asp需要運行在PWS或IIS下。PWS或IIS服務在windows98或windows2000的光碟上附帶著,可以通過「添加/刪除程序」中的「添加/刪除windows組件」來安裝。
一般asp需與access資料庫或SQL Server資料庫結合使用,編出功能強大的程序。
能夠運行ASP的web伺服器軟體
Windows2000默認安裝的是IIS5.0(internet information server),而windows xp默認安裝的是IIS5.1,windows 2003默認安裝的IIS6.0。
PWS(personal web server)運行在windows98環境下的簡單個人網頁伺服器。
ASP的意涵與特性
ASP( Application Service Provider,應用軟體租賃服務提供者 )即是指「透過網路以租賃方式提供應用軟體服務的業者」,即是指業者以應用軟體為主體,透過網路一對多地傳遞服務,這種以服務為主的交易模式促使企業可藉由租賃的方式,以更符合成本效益的方式擁有軟體的使用權,並且亦能因為業者集中式的管理而大幅降低企業維護的成本.
基本上,ASP即具有「軟體服務化,服務網路化」,「資訊委外服務與網路結合」與「產品通路化,通路產品化」等三大特性,其甚至可以被視為是ISP(Internet Service Provider)與ITS(Information Technology Service)的結合
PHP是編程語言和應用程序伺服器的結合。PHP和其它的編程語言類似,使用變數存儲臨時數值,使用操作符處理變數。PHP的真正價值在於它是一個應用程序伺服器。
當談到應用程序伺服器的時候,我是指一個把幾個不同的技術組合為一個完整的套件的程序。這些技術包括:
* 一個強壯的編程語言。
* 存取資料庫中存儲的數據。
* 支持 Internet協議,尤其是電子郵件和HTTP協議。
注意:應用程序伺服器有許多其它的特性,這里只列出了最基本的特性。
由於提供了這些多種不同技術的前端介面,PHP可以使工作變的很容易。
本章的其它部分講述了有關PHP的許多繁雜資料,以及它在應用軟體開發中起到的作用。
J. PHP,JSP,ASP是什麼干什麼用的之間有什麼關系嗎
PHP,Hypertext Preprocessor,最初在95年問世(那時以前叫Personal Home Page)。PHP最初是製作動態網頁的伺服器端腳本語言,但現在PHP已經可以作為command line運行有GUI的standalone的程序。現在是PHP Group在開發和管理PHP的規則,功能等。但PHP大都用在dynamic webpage scripting上,好象沒聽過誰用它開發desktop application。
PHP使用率是製作動態網頁的幾種語言(JSP,ASP,ASP.NET, ColdFusion, Ruby, SHTML)中最高的。因為PHP在95年已經問世至今,以有相當數量的開發者。我們熟知的國際權威網路全書Wikipedia有90%用PHP寫的,而且國外流行多年的「校內網」FaceBook 也全部用PHP寫的,同時Yahoo, Sony官方,Pepsi百事官方這些網站都是用PHP的。根據維基網路(Wikipedia)的說法,PHP被超過20,000,000的網站所用,被超過1,000,000的網頁伺服器所用。目前到2008五月,PHP最新版本為5.2.6。
PHP不僅使用率高,而且能兼容各類平台。它可以在大多數網頁伺服器上運行(如:MS IIS,Apache),大多數操作系統上運行(如:Windows, UNIX, Linux)。而且PHP支持很大多數牌子的資料庫:MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Gerneric ODBC等。
結構方面,雖比JSP,ASP.NET差點,PHP也有很多Framework可用。微軟的ASP.NET結構是出名的,JSP的MVC結構也很厲害,所以開發大網站ASP.NET,JSP都很快。而PHP Group也為此付出很大努力,來開發自己特有的結構適應不同類型的大網站的需求。常見的PHP的Framework有:CakePHP, PRADO, Symfony, Zend等。
另外LAMP結構,是PHP最常用的開發模式,即是配合Linux, Apache, MySQL, PHP,合稱LAMP。個人認為這種方式才是ASP.NET,PHP,JSP中最簡單的。
3. 說說JSP。(本人工作中用的最多的就是JSP)
JSP, JavaServer Pages 是Java技術的一部分,可以說是Java Platform Enterprise Edition的一部分(JAVA主要3個大技術,Java SE, Java EE, Java ME)。軟體開發者可以用JSP來動態生成HTML,XML或者其他的文檔。然後把文檔response給網頁用戶。這項技術,可以用Java里的所有定義過的library來支持它的功能,所以JSP的API和普通Java EE的API一樣。
JSP里還有很多有功能的XML tag(如:<jsp:include>,<jsp:useBean)。這些都是JAVA內置功能,不需要導入新的外置 library。這些XML tag,可以在很多Web Server里使用(如:Apache, Apache TomCat, WebLogic等)。
JSP在編譯後就完全和Servlet一樣了。JSP頁面在第一次被用戶訪問的時候,首先被JAVA 編譯器,編譯成Java Servlet Class。然後編譯後Servlet Class,在以後被用戶訪問時,直接在JVM里運行,由JSP Web Container來輸出HTML給用戶。JSP這種「首次訪問-預編譯」的運行方式比傳統PHP(PHP 4和PHP以前版本),過時的ASP(所有版本的ASP),要快很多。(網路一位網友作過一個1萬次For Loop,循環的測試,結果發現JSP比傳統PHP,ASP快盡10被的速度就完成運算)。預編譯的運行方式後來被PHP5效仿,ASP.NET也是預編譯的。當然JSP還有一個好處,就是可以直接用純Java (無HTML),來寫一個Servlet,直接在JVM運行後,由JSP Web Container輸出HTML給用戶。只是Servlet有的時候寫一些presentation tier的東西很麻煩,因為它不能融合XML和輸出邏輯在一起。所以一般Servlet用於純Java的business logic邏輯。
JSP的tag還可以由用戶自己來創造和使用,這個和ASP.NET里的user-defined controls差不多。
MVC, Model-View-Controller,是JSP的普遍開發架構,用來把JSP技術中的presentation, business logic, data storage三層清楚的分開。這樣使開發過程更佳清楚明了,便於開發,維護。常用的MVB架構有:Barracuda, Apache Struts和Spring。JSF,JavaServer Faces是一個由SUN官方開發的Framework,是模仿ASP.NET的event-driven開發模式,和ASP.NET非常相似。但SUN 並沒有讓JSF替代JSP,相反JSF的開發者少之又少,但是據說現在JSF或JSP配合RAD(AJAX)開發很流行(校內網就是這樣,而且結合Struts)。
4. ASP(Active Server Pages), ASP.NET 兩個分別是 動態網頁開發語言,動態網頁開發語言和結構
(1) 關於ASP的淘汰
ASP, Active Server Pages已經過時了, 但因為其出現的早,96年就有了,所以現在有些中小網站還用(但,使用最多最廣的是PHP,最初於95年現世。ASP是微軟第一代動態網頁開發語言,只能在Windows系統 + MS IIS伺服器平台下運行。
Wikipedia, Facebook, 網路等都用PHP,PHP學習的簡單度和ASP差不多;JSP稍微難點,JSP用的一般都是銀行,購物等安全性較高的網站,Google也用JSP)。但隨著開發者的各種需求,ASP以後可以被ASP.NET取代,因為微軟停止對其的一切技術維護與功能更新。ASP.NET是革新版本的ASP(注意是「革新版本」,而非「改進版本」),或者說是完全新一代的Dynamic Web Scripting。
ASP代表著傳統的dynamic web scripting,與ASP.NET沒什麼關系,學了確實也沒用。因為ASP不象CGI(Common Gateway Interface),CGI是動態網站製作的始祖,所有ASP,JSP,PHP什麼的都根據CGI演化而來,而且ASP,PHP,JSP都包含了些 CGI的東西;而ASP卻沒有被衍生出任何新技術,ASP.NET也不算基於ASP,只能說ASP.NET開發理念,library,功能完全是基於.NET的其它組件。
其實PHP,JSP,ASP明白其中一種,其它的都很容易學會了。如果非要學學傳統的dynamic web scripting,那就學學PHP吧,不比ASP難,但比ASP功能多,穩定性好,PHP5運行速度也比ASP快很多(JSP稍難因為要學點 Java)。學了PHP或JSP什麼的,對學ASP.NET有好處,而且還可以直接用PHP,JSP進行開發。去google差差英文資源,有評價PHP 最好的,有評價JSP最好的,還從沒有聽誰說過ASP最好。
ASP.NET畢竟在.NET中,所以ASP.NET還是有相當地位的。
(2). 關於ASP.NET的優勢
ASP.NET是微軟.NET Framework的一部分。伴隨.NET 1.0在2002的問世,ASP.NET也出現在動態網頁開發語言的家族中(與PHP,JSP,ColdFusion, Ruby, SHTML等並行了)。
功能上,ASP.NET比ASP有更強大的library, 更好的穩定性。 ASP.NET可以使用.NET Framework中所有組件(也就是說.NET能實現的,ASP.NET一樣能實現),功能上顯然強大於傳統功能單調的ASP。最強的技術支持Web Service, 而且有.NET的所有library做後盾。而且ASP.NET 在.NET 3.5中還有微軟專門為AJAX開發的功能--ASP.NET AJAX。
結構上,傳統的ASP把所有代碼混為一團,簡單的用<%%>把HTML和VBScript(或JScript)分開,實現動態輸出 HTML。因為ASP.NET模仿JSP的MVC網頁結構,微軟為ASP.NET開發了自己的Code-Behind結構,將 presentation(文件拓展名:.aspx)和business logic(文件拓展名:.cs或.vb等)分離。同時Code-Behind模式也實現了讓ASP.NET開發者用.NET中最普通Winform的開發模式來開發網站,方便非網頁開發者製作動態網站。所以ASP.NET更容易維護,比ASP更適合於Enterprise Level 的大網站開發。
由於ASP.NET比JSP,PHP等更接近於.NET Winform的開發。如Tree View, Datagrid View(即高級Table)等高級UI,都可以直接用ASP.NET中的Web Control來實現,這比傳統的使用JavaScript + XTHML + CSS的DHTML開發方式簡單不少,也更好維護。同時ASP.NET開發這可以定義自己的User Control,製作自己特別的一種UI(如網站LOGO,版權等部分),而且此User Control可以被存為.ascx文件,方便讓每一頁(.aspx)來使用。
運行速度上,ASP.NET模仿了JSP的預編譯機制(Pre-Compile)。使編譯好的代碼(MSIL語言)在網頁伺服器上運行。這樣比傳統的ASP,傳統PHP(PHP4以前版本)更快,因為傳統的ASP是直接運行開發者寫的Script,相當於每運行一次,就得編譯一次那麼慢。 ASP.NET可以用VB, C#, J#等所有.NET Framework的語言開發.(但其實每種語言做的東西都一樣... 就象山東話, 東北話, 寫出來都是中文:)
不過ASP.NET對出學者可能有點難. 因為它其實在模擬desktop application development,即Winforms開發的模式, 不象傳統的JSP,PHP, ASP這樣容易明白。傳統的Dynamic Server Scripting, 象PHP 5, 這是現在最簡單的, 最有效的了。( 那個JSP也不難. 如果有錢還可以考慮下Adobe ColdFusion。)
ASP.NET的新潮的Dynamic Server Scripting, 在其帶動下SUN也推出自己的JavaServer Faces (其實是拓展JSP,但JSF無法取代JSP), 和ASP.NET很象, 也有很多Web Control(JTable, JTree),同時JSF也曾強了對WEB SERVCIE的支持, 也很適合ENTERPRISE LEVEL 的網站。
(3). ASP與ASP.NET的優劣總結:
-- ASP已經被微軟停止更新;ASP.NET卻在.NET(1.0, 2.0, 3.0, 3.5)中突飛猛進;
-- ASP在96年出現,並沒有引領一個潮流,PHP,ColdFusion都出現於95年,引領了整個潮流;ASP.NET引領新的動態網站開發潮流,SUN的JSF(JavaServer Faces)就是與ASP.NET極其相似;
-- ASP大多被用在是中小網站;PHP被Wikipedia, Facebook, 網路所用,JSP被GOOGLE所用;
-- ASP不支持Web Service; ASP.NET支持Web Service。要是了解.NET中的Web Service在大組織系統中的重要性,就能立桿見影的看出差距
-- ASP開發AJAX比較麻煩;而ASP.NET專門用AJAX控制項,更方便。要是了解Web 2.0,那麼AJAX是什麼地位,就不用我說了吧。
-- ASP.NET模仿JSP,是pre-compile的;ASP不compile,直接運行Script的速度顯然沒有compile之後的快。
-- ASP.NET的唯一缺點,就是開發用的IDE--Visual Studio Professional比較貴(express版免費的功能太少);ASP的唯一優點是,其
學起來最簡單,跟PHP一樣簡單,比JSP簡單,更比ASP.NET簡單幾倍。