js|比較|網頁 總的來講,JavaSever PagesTM(JSP)和 微軟的Active Sever Pages(ASP)在技術方面有許多相似之處。兩者都是為基於WEB應用實現動態互動網頁製作提供的技術環境支援。同等程度上來講,兩者都能夠為程式開發人員提供實現應用程式的編製與OOB 元件設計網頁從邏輯上分離的技術。而且兩者都能夠替代CGI使網站建設與發展變的較為簡單與快捷。
儘管JavaSever Pages 技術和微軟的Active Sever Pages在許多方面都有相似的,但仍然存在很多不同之處,其中最本質上的區別在於:兩者是來源於不同的技術規範組織,其實現的基礎:WEB伺服器平台要求不相同。
一、JSP 技術:開放的技術
JSP和ASP技術明顯的不同點:開發人員在對兩者各自軟體體系設計的深入瞭解的方式不同。JSP技術基於平台和伺服器的互相獨立,輸入支援來自廣泛的,專門的,各種工具包,伺服器的組件和資料庫產品開發商所提供。相比之下,ASP技術主要依賴微軟的支援人員。
1、平台和伺服器的獨立性
JSP技術依附於一次寫入,之後,可以運行在任何具有符合JavaTM文法結構的環境。取而代之過去依附於單一平台或開發商,JSP技術能夠運行在任何WEB伺服器上並且支援來自多家開發商提供的各種各樣工具包。
由於ASP是基於Activex控制項技術提供用戶端和伺服器端的開發組件,因此ASP技術基本上是局限於微軟的作業系統平台之上。ASP主要工作環境是微軟的IIS應用程式結構,又因Activex對象具有平台特性,所以ASP技術不能很容易地實現在跨平台的WEB伺服器的工作。儘管ASP技術通過第三方提供的產品能夠得到組件和服務實現跨平台的應用程式,但是Activex對象必須事先放置於所選擇的平台中。
2、開放的開發過程,開放的原代碼
SUN應用JAVA社團性過程開發JSP技術。自從1995年,SUN已經用這種開放過程方法同國際JAVA組織合作開發和修改了JAVA技術與規範。針對JSP的產品,SUN授權了工具供應商(如Macromedia),結盟公司(如Apache,Netscape),終端使用者,協作商及其他。最近,SUN將最新版本的JSP和JavaTM Servlet(JSP 1.1,JAVA SERVLET 2.2)的原代碼發放給Apache,以求JSP與Apache緊密的相互發展。Apache,SUN和許多其他的公司及個人公開成立一個健壯的諮詢機構以便任何公司和個人都能免費取得資訊。
JSP應用程式介面(API)毫無疑問已經取得成功,並將隨JAVA組織不斷開放擴大繼續完善。相反,ASP技術僅依靠微軟本身的推動,其發展是建立在獨佔的,封閉的開發過程基礎之上。
ASP技術 JSP技術
WEB伺服器 微軟的IIS或個人WEB伺服器 任何WEB伺服器包括Apache,Netscape,和IIS 作業系統平台 微軟的視窗系統 絕大多數的流行平台,包括solaris作業系統,微軟的視窗系統,MAC OS,Linux,及其他UNIX系列平台產品。
跨平台訪問 需要第三方ASP的引入產品 支援WEB資訊機構環境中不同系列的電腦群即保證使用者在當前軟硬體及人力資源上的投資完全相容,JSP技術提供靈活,開放選擇:可以使用各種各樣的工具供應商提供的工具,高度體現工業化標準輸入與配置
3、從開發人員的角度來看:ASP和JSP技術都能使開發人員實現通過點擊網頁中的組件製作互動,動態內容和應用程式的WEB網站。ASP僅支援元件物件模型COM,而JSP技術提供的組件都是基於JavabeansTM技術或JSP標籤庫。由此可以看出兩者雖有相同之處,但其區別是很明顯的。
1)JSP標籤可擴充性
儘管ASP和JSP都使用標籤與指令碼技術來製作動態WEB網頁,JSP技術能夠使開發人員擴充JSP標籤得以應用,JSP開發人員能定製標籤庫,所以網頁製作者充分利用與XML相容的標籤技術強大的功能,大大減少對指令碼語言的依賴。由於定製標籤技術,使網頁製作者降低了製作網頁和向多個網頁擴充關鍵功能的複雜程度。
2)JSP跨平台的可重用性
JSP的開發人員在開發過程中一直關注可重用性。JSP組件(企業JavabeansTM,Javabeans,或定製的JSP標籤)都是跨平台可重用的。企業Javabeans組件可以訪問傳統的資料庫,並能以分布式系統模式工作於UNIX和WINDOWS平台。JSP技術的標籤可擴充功能為開發人員提供簡便的,與XML相容的介面即共用網頁的打包功能使其完全的工業標準化。
這種基於組件的模式很有效提高應用程式的開發效率,因為這種模式能夠使開發人員利用快捷的子組件快速建立模板應用程式,然後再整合一些附加功能以後便可使用。象這樣有效方法在JSP中無處不在,並可將其打包成一個Javabean或一個工業標準化的Javabean組件。
二、JAVA的優越性
JSP技術是用JAVA語言作為指令碼語言的,而ASP網頁使用微軟的VBScrip或Jscrip。JAVA是成熟的,強大的,易擴充的程式設計語言,遠優於基於BASIC的指令碼語言。如:JAVA的可執行性優於VBScript或Jscript語言。因為它們利用JAVA技術並且都被編譯為JAVA Servlets,JSP網頁為整個伺服器端的JAVA庫單元提供了一個介面來服務於HTTP的應用程式。
JAVA使開發人員的工作在其他方面也變的一樣容易,簡單。例如,當ASP應用程式在WINDOWS NT系統被懷疑可能會崩潰時,JAVA能有效防止系統的崩潰。JAVA語言通過提供防止記憶體的泄漏的方法,在記憶體管理方面也能大顯身手。加之,JSP為應用提供了健壯的意外事件處理機制。
1、易於維護性
基於JSP技術的應用程式比基於ASP的應用程式易於維護和管理。
指令碼語言都能很好服務於小的應用程式,但不能適應大型的,複雜的應用程式。因為,JAVA是結構化的,它比較容易建立和維護龐大的,組件化的應用程式。
JSP突出的組件技術使修改內容而不影響邏輯或修改邏輯而不影響內容變得很容易實現。
企業級的Javabeans結構整合了企業邏輯,例如資料庫的訪問,安全,事務完整性,及獨立性即獨立於應用程式。因為JSP技術是一種開放的,跨平台的結構,因此,WEB伺服器,平台,及其他的組件能很容易升級或切換,且不會影響JSP基本的應用程式。這一特點使JSP能夠適用現實世界的各種WEB應用程式不斷的變化和發展。
ASP技術 JSP技術可重用,跨平台組件 沒有JAVABEANS
企業級JAVABEANS,定製JSP標籤
安全:防範系統崩潰 沒有/有
記憶體泄露保護 沒有/有
指令碼語言 VBSCRIPT,JSCRIPT JAVA
定製標籤 沒有/有
2、企業產品的多樣性
JAVA2平台即企業版(J2EE)是適用於多公司專屬應用程式程式的JAVA結構,作為J2EE的部分,JSP網頁可訪問所有J2EE的組件,包括Javabeans,企業級Javabeans及JAVA Servlets。JSP網頁都能完全編譯成為Servlets,所以它們都享有靈活性的特點和為伺服器端JAVA應用程式。J2EE平台內容不僅包括管理複雜的公司專屬應用程式程式而且包括交易管理技術和Pooling資源管理技術。
JSP網頁可以訪問標準的J2EE服務,包括:
(1) JAVA名稱和目錄介面API
(2) JDBCTM API(與關聯的資料庫通訊)
(3) JavaMailTM(支援基於JAVA郵件和訊息應用程式的類)
(4) JAVATM Message Service
通過J2EE,JSP網頁能夠用許多方式同企業系統互動訪問。J2EE支援兩種CORBA規範的技術:JAVA IDL和RMI-IIOP。在企業級JAVABEANS支援人員下,JSP網頁通過運用進階的,對象映射的方式訪問資料庫。
最終,因為JSP技術是基於JAVA的開放性過程的產品,因此它能夠廣泛支援不同供應商提供的工具,WEB伺服器和應用程式的服務,這樣能夠使使用者選擇最佳的開發方法,選擇最適應他們的應用程式開發的工具包,同時,有效地保護使用者在代碼和人員培訓上的投資。