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