中圖分類(lèi)號(hào):TP393文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1673-1875(2009)04-021-01
自從微軟推出了ASP(ActiveServerPage)之后,它以其強(qiáng)大的功能,簡(jiǎn)單易學(xué)的特點(diǎn)受到廣大WEB程序開(kāi)發(fā)人員的鐘愛(ài)。雖然ASP可以通過(guò)增加控件而在Linux下使用,但是其功能最強(qiáng)大的DCOM控件卻不能使用。而SUN公司在Java的基礎(chǔ)開(kāi)發(fā)出的JSP(Java ServerPages)實(shí)現(xiàn)了動(dòng)態(tài)頁(yè)面與靜態(tài)頁(yè)面的分離,脫離了硬件平臺(tái)的束縛,以及編譯后運(yùn)行等方式大大提高了其執(zhí)行效率而逐漸成為因特網(wǎng)上的主流開(kāi)發(fā)工具。
ASP和JSP在技術(shù)方面有許多相似之處。兩者都是為基于WEB應(yīng)用實(shí)現(xiàn)動(dòng)態(tài)交互網(wǎng)頁(yè)制作提供的技術(shù)環(huán)境支持,都能夠?yàn)槌绦蜷_(kāi)發(fā)人員提供實(shí)現(xiàn)應(yīng)用程序的編制與自帶組件設(shè)計(jì)網(wǎng)頁(yè)從邏輯上分離的技術(shù),而且都能夠替代CGI使網(wǎng)站建設(shè)與發(fā)展變的較為簡(jiǎn)單與快捷。ASP和JSP最本質(zhì)上的區(qū)別在于兩者是來(lái)源于不同的技術(shù)規(guī)范組織,其實(shí)現(xiàn)的基礎(chǔ)是WEB服務(wù)器平臺(tái)要求不相同。
JSP和ASP技術(shù)明顯的不同點(diǎn):開(kāi)發(fā)人員在對(duì)兩者各自軟件體系設(shè)計(jì)的深入了解的方式不同。JSP技術(shù)基于平臺(tái)和服務(wù)器的互相獨(dú)立,輸入支持來(lái)自廣泛的,專(zhuān)門(mén)的,各種工具包,服務(wù)器的組件和數(shù)據(jù)庫(kù)產(chǎn)品開(kāi)發(fā)商所提供。ASP技術(shù)主要依賴微軟的技術(shù)支持。
一、平臺(tái)和服務(wù)器的獨(dú)立性。JSP技術(shù)依附于一次寫(xiě)入,之后,可以運(yùn)行在任何具有符合JavaTM語(yǔ)法結(jié)構(gòu)的環(huán)境。JSP技術(shù)能夠運(yùn)行在任何WEB服務(wù)器上并且支持來(lái)自多家開(kāi)發(fā)商提供的各種各樣工具包。
ASP是基于Activex控件技術(shù)提供客戶端和服務(wù)器端的開(kāi)發(fā)組件,其技術(shù)基本上是局限于微軟的操作系統(tǒng)平臺(tái)之上。ASP主要工作環(huán)境是微軟的IIS應(yīng)用程序結(jié)構(gòu),又因Activex對(duì)象具有平臺(tái)特性,所以ASP技術(shù)不能很容易地實(shí)現(xiàn)在跨平臺(tái)的WEB服務(wù)器的工作。
JSP應(yīng)用程序界面(API)毫無(wú)疑問(wèn)已經(jīng)取得成功,并將隨JAVA組織不斷開(kāi)放擴(kuò)大繼續(xù)完善。相反,ASP技術(shù)僅依靠微軟本身的推動(dòng),其發(fā)展是建立在獨(dú)占的,封閉的開(kāi)發(fā)過(guò)程基礎(chǔ)之上。
區(qū)別如下:
WEB服務(wù)器:ASP技術(shù)微軟的IIS或個(gè)人WEB服務(wù)器;JSP技術(shù)任何WEB服務(wù)器包括Apache和IIS操作系統(tǒng)平臺(tái):ASP技術(shù)微軟的視窗系統(tǒng);JSP技術(shù)絕大多數(shù)的流行平臺(tái),包括solaris操作系統(tǒng),微軟的視窗系統(tǒng),MAC OS,Linux,及其他UNIX系列平臺(tái)產(chǎn)品跨平臺(tái)訪問(wèn):ASP技術(shù)需要第三方ASP的引入產(chǎn)品;JSP技術(shù)支持WEB信息機(jī)構(gòu)環(huán)境中不同系列的計(jì)算機(jī)群即保證用戶在當(dāng)前軟硬件及人力資源上的投資完全兼容,JSP技術(shù)提供靈活,開(kāi)放選擇:可以使用各種各樣的工具提供商提供的工具,高度體現(xiàn)工業(yè)化標(biāo)準(zhǔn)輸入與配置。
二、從開(kāi)發(fā)人員的角度。ASP和JSP技術(shù)都能使開(kāi)發(fā)者實(shí)現(xiàn)通過(guò)點(diǎn)擊網(wǎng)頁(yè)中的組件制作交互式的,動(dòng)態(tài)的內(nèi)容和應(yīng)用程序的WEB站點(diǎn)。ASP僅支持組件對(duì)象模型COM,而JSP技術(shù)提供的組件都是基于JavabeansTM技術(shù)或JSP標(biāo)簽庫(kù)。由此可以看出兩者雖有相同之處,但其區(qū)別是很明顯的。
JSP標(biāo)簽可擴(kuò)充性。盡管ASP和JSP都使用標(biāo)簽與腳本技術(shù)來(lái)制作動(dòng)態(tài)WEB網(wǎng)頁(yè),JSP技術(shù)能夠使開(kāi)發(fā)者擴(kuò)展JSP標(biāo)簽得以應(yīng)用,JSP開(kāi)發(fā)者能定制標(biāo)簽庫(kù),所以網(wǎng)頁(yè)制作者充分利用與XML兼容的標(biāo)簽技術(shù)強(qiáng)大的功能,大大減少對(duì)腳本語(yǔ)言的依賴。
區(qū)別如下:
可重用,跨平臺(tái)組件:ASP技術(shù)沒(méi)有JAVABEANS ;JSP技術(shù)企業(yè)級(jí)JAVABEANS,定制JSP標(biāo)簽。
安全:防范系統(tǒng)崩潰:ASP技術(shù)沒(méi)有;JSP技術(shù)有。
內(nèi)存泄露保護(hù):ASP技術(shù)沒(méi)有;JSP技術(shù)有。
腳本語(yǔ)言:ASP技術(shù)VBSCRIPT,JSCRIPT;JSP技術(shù)JAVA 。
定制標(biāo)簽:ASP技術(shù)沒(méi)有;JSP技術(shù)有。
三、企業(yè)產(chǎn)品的多樣性
JAVA2平臺(tái)即企業(yè)版(J2EE)是適用于多企業(yè)應(yīng)用程序的JAVA結(jié)構(gòu),JSP網(wǎng)頁(yè)都能完全編譯成為Servlets,所以它們都享有靈活性的特點(diǎn)和為服務(wù)器端JAVA應(yīng)用程序。
最終,因?yàn)镴SP技術(shù)是基于JAVA的開(kāi)放性過(guò)程的產(chǎn)品,因此它能夠廣泛支持不同提供商提供的工具,WEB服務(wù)器和應(yīng)用程序的服務(wù),這樣能夠使用戶選擇最佳的開(kāi)發(fā)方法,選擇最適應(yīng)他們的應(yīng)用程序開(kāi)發(fā)的工具包,同時(shí),有效地保護(hù)用戶在代碼和人員培訓(xùn)上的投資。
區(qū)別如下:
兼容傳統(tǒng)的數(shù)據(jù)庫(kù):ASP技術(shù)可以(COM);JSP技術(shù)可以(用JDBC API)。
集成數(shù)據(jù)源的能力:ASP技術(shù)能工作在任何符合ODBC規(guī)范的數(shù)據(jù)庫(kù);JSP技術(shù)能工作在任何符合ODBC規(guī)范的數(shù)據(jù)庫(kù),而且能訪問(wèn)符合JDBC技術(shù)規(guī)范數(shù)據(jù)庫(kù)。
組件:ASP技術(shù)COM組件;JSP技術(shù)JAVABEANS,企業(yè)級(jí)JAVABEANS或擴(kuò)展的JSP標(biāo)簽。
擴(kuò)展工具支持:ASP技術(shù)有;JSP技術(shù)有。
結(jié)論:
JSP模型是在ASP之后定義的,它借用了ASP的許多優(yōu)點(diǎn),如Session,Application等對(duì)象。同時(shí)JSP使用靈活而強(qiáng)大的Java語(yǔ)言,而不是低效的Scripting語(yǔ)言。ASP開(kāi)發(fā)者只能使用基于windows平臺(tái)的技術(shù),而Java和JSP是跨平臺(tái)的。