史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 程式 & 網頁設計技術文件
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2003-12-17, 02:22 AM   #1 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 ASP、JSP、PHP 三種技術比較 

目前,最常用的三種動態網頁語言有ASP(Active Server Pages),JSP(JavaServer Pages),PHP (Hypertext Preprocessor)。
簡 介
  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如果水準不夠程式碼安全性肯定會有問題。

Linux+PHP已經成為一種模式了,安全性和穩定性都是不錯的。

JSP逐漸流行,越來越多的被企業所採用。第一次接觸JSP是chinaren,那是後還搞不太清楚JavaScript和JSP那,呵呵。

而被成為ASP+的ASP.net應該不錯的,支持任何.net支持的語言,可以說是language indepedent了(雖然實際上還不是)。現在國內關於ASP.net的站點也不少了。


CFM(ColdFusion製作的頁面. 現在是Macromedia的)的發展要大於JSP,PHP會是Free的代表,ASPX將會是以後的方向。

不過終極結局還是全面的XML整合。

蘿蔔鹹菜各有所好,如果是商業用戶,從經濟角度看,好像Linux平台的這些還算省錢,ASP的的爹娘沒一個是便宜的

。個人選項,我選微軟的,因為他的每個舉措差不多都能成為業界標準,跟著標準跑不怕沒飯吃∼∼∼
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
舊 2003-12-19, 11:41 PM   #2 (permalink)
註冊會員
 
Evan 的頭像
榮譽勳章
UID - 2035
在線等級: 級別:6 | 在線時長:70小時 | 升級還需:7小時
註冊日期: 2002-12-06
VIP期限: 2007-09
住址: ☆桃園-金門-新竹☆
文章: 432
精華: 0
現金: -6 金幣
資產: 1403 金幣
預設

這學期修jsp…下學期好像要修asp吧!
jsp的門檻比較高…但是有一定基礎之後,後端的開發就比asp容易了…
asp的門檻比較低,中文支援較好…不過後端沒有jsp強…
至於php的話,還要再研究…
學jsp才是王道…

個人淺見…廢話勿怪…
Evan 目前離線  
送花文章: 17, 收花文章: 9 篇, 收花: 19 次
舊 2003-12-22, 06:54 PM   #3 (permalink)
長老會員
榮譽勳章
UID - 76876
在線等級: 級別:7 | 在線時長:88小時 | 升級還需:8小時級別:7 | 在線時長:88小時 | 升級還需:8小時
註冊日期: 2003-06-12
文章: 88
精華: 0
現金: 14759 金幣
資產: 22273 金幣
預設

受教了!
幸福617 目前離線  
送花文章: 204, 收花文章: 3 篇, 收花: 3 次
舊 2003-12-25, 10:26 PM   #4 (permalink)
註冊會員
 
HERO 的頭像
榮譽勳章
UID - 2836
在線等級: 級別:11 | 在線時長:190小時 | 升級還需:2小時級別:11 | 在線時長:190小時 | 升級還需:2小時級別:11 | 在線時長:190小時 | 升級還需:2小時級別:11 | 在線時長:190小時 | 升級還需:2小時級別:11 | 在線時長:190小時 | 升級還需:2小時級別:11 | 在線時長:190小時 | 升級還需:2小時
註冊日期: 2002-12-06
VIP期限: 2009-03
住址: 媽媽的肚肚
文章: 588
精華: 0
現金: 8 金幣
資產: 18881 金幣
預設

Linux+PHP都是免費的加上mysql+apache也是免費的對於學生的我
我是比較喜歡他們的組合~^^
HERO 目前離線  
送花文章: 33, 收花文章: 12 篇, 收花: 24 次
舊 2004-02-11, 05:51 PM   #5 (permalink)
註冊會員
榮譽勳章
UID - 78784
在線等級: 級別:21 | 在線時長:547小時 | 升級還需:25小時級別:21 | 在線時長:547小時 | 升級還需:25小時級別:21 | 在線時長:547小時 | 升級還需:25小時級別:21 | 在線時長:547小時 | 升級還需:25小時級別:21 | 在線時長:547小時 | 升級還需:25小時級別:21 | 在線時長:547小時 | 升級還需:25小時
註冊日期: 2003-06-18
VIP期限: 2009-08
住址: 阿蘇拉地牙馬星球
文章: 426
精華: 0
現金: 6460 金幣
資產: 11460 金幣
預設

你們都好強唷!!
mmsean 目前離線  
送花文章: 201, 收花文章: 17 篇, 收花: 24 次
 



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 04:40 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1