摘要:ASP和JSP是目前兩種常見(jiàn)的網(wǎng)頁(yè)制作技術(shù),以前的網(wǎng)頁(yè)都是靜態(tài)的,現(xiàn)在由于出現(xiàn)了網(wǎng)頁(yè)設(shè)計(jì)相關(guān)的技術(shù),當(dāng)前的網(wǎng)頁(yè)都是動(dòng)態(tài)性的。本文主要從動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)的層面上來(lái)分析ASP和JSP之間的不同點(diǎn),哪種制作技術(shù)更好,它們的優(yōu)缺點(diǎn)是什么。
關(guān)鍵詞:ASP;JSP;動(dòng)態(tài)網(wǎng)頁(yè)技術(shù);服務(wù)器;對(duì)比
中圖分類號(hào):TP393.092 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 23-0000-02
1 引言
ASP和JSP都是目前用的比較多的動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)技術(shù),一個(gè)來(lái)源自微軟公司,一個(gè)來(lái)源于SUN公司,都是著名的IT企業(yè)。這兩個(gè)開(kāi)發(fā)語(yǔ)言都是面向WEB服務(wù)器端的,在瀏覽的時(shí)候不需要加任何的插件,直接就可以進(jìn)行瀏覽。而早期的網(wǎng)頁(yè)開(kāi)發(fā)只是停留在靜態(tài)的層面上,用的是HTML,也就是超文本技術(shù),可能開(kāi)發(fā)一個(gè)頁(yè)面需要非常漫長(zhǎng)的時(shí)間,而且開(kāi)發(fā)工具相對(duì)落后。如今有了高級(jí)的動(dòng)態(tài)技術(shù)以后,開(kāi)發(fā)的過(guò)程變得更加簡(jiǎn)單,而且節(jié)省了很多時(shí)間,網(wǎng)頁(yè)內(nèi)容也更加豐富,我們?cè)诎l(fā)布資訊,進(jìn)行網(wǎng)上購(gòu)物等,這些都是新技術(shù)帶給我們的方便。
動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)技術(shù)的原理主要是:首先是通過(guò)不同的技術(shù)語(yǔ)言把網(wǎng)頁(yè)頁(yè)面寫(xiě)出來(lái),然后存儲(chǔ)在WEB服務(wù)器上,當(dāng)我們普通用戶進(jìn)行訪問(wèn)的時(shí)候,那么我們?cè)L問(wèn)的請(qǐng)求就會(huì)發(fā)送到服務(wù)器端,由服務(wù)器來(lái)決定我們?cè)L問(wèn)的是否成功,如果成功,那么就會(huì)調(diào)取我們?cè)L問(wèn)的頁(yè)面,如果不成功,則無(wú)法顯示。比如說(shuō)我們?cè)L問(wèn)某個(gè)數(shù)據(jù)庫(kù)站點(diǎn),在數(shù)據(jù)庫(kù)當(dāng)中有很多內(nèi)容和信息,我們調(diào)用了其中一個(gè)信息,那么我們調(diào)用的這個(gè)信息就會(huì)由WEB服務(wù)器去傳送,最后在返回到數(shù)據(jù)庫(kù)當(dāng)中,這個(gè)過(guò)程都是自動(dòng)完成的,等我們看到真正的頁(yè)面出來(lái)以后,其實(shí)這個(gè)過(guò)程已經(jīng)結(jié)束了。所以動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)相對(duì)于傳統(tǒng)的技術(shù)來(lái)說(shuō)要靈活的多,而且也方便的多,接下來(lái)我們就來(lái)看看動(dòng)態(tài)設(shè)計(jì)語(yǔ)言ASP和JSP兩者的比較。
2 JSP和ASP的比較
2.1 平臺(tái)不同
首先它們的平臺(tái)是不用,一個(gè)來(lái)自微軟公司,一個(gè)來(lái)源于SUN公司,ASP一般只能用于微軟服務(wù)器的平臺(tái),局限性比較大,雖然在UNIX下也可以用,但是必須通過(guò)和COM的組合來(lái)進(jìn)行,這樣相對(duì)就麻煩,而且和COM進(jìn)行組合是很困難的事情。同比之下,JSP就和平臺(tái)沒(méi)有什么大的關(guān)聯(lián),可以在任何服務(wù)器和操作系統(tǒng)下進(jìn)行開(kāi)發(fā)和設(shè)計(jì),所以就方便了很多,也可以說(shuō)是JSP的一個(gè)非常大的優(yōu)點(diǎn),操作簡(jiǎn)單。
2.2 數(shù)據(jù)庫(kù)連接不同
ASP 使用 ODBC 通過(guò) ADO( ActiveXData Object) 連接數(shù)據(jù)庫(kù),而JSP 對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)通過(guò) JDBC( Java Data Base Connectivity) 來(lái)實(shí)現(xiàn)。JDBC 與 ODBC 都基于 X/open 的 SQL 調(diào)用級(jí)接口, JDBC 的總體結(jié)構(gòu)類似于 ODBC, 也有 4 個(gè)組件: 應(yīng)用程序、驅(qū)動(dòng)程序管理器、驅(qū)動(dòng)程序和數(shù)據(jù)源。JDBC 與 ODBC 都獨(dú)立于特定的數(shù)據(jù)庫(kù)。這個(gè)是兩者之間的一個(gè)共同,但是,JDBC除了能有ODBC的功能和特點(diǎn)以外,還可以對(duì)平臺(tái)和操作系統(tǒng)有很好的兼容性。主要是因?yàn)镴DBC是基于JAVA語(yǔ)言來(lái)進(jìn)行開(kāi)發(fā)的,而本身JAVA就是不關(guān)乎平臺(tái)的,相對(duì)于ODBC來(lái)說(shuō)安全性和穩(wěn)定性都要更好,比較適合網(wǎng)絡(luò)上的數(shù)據(jù)庫(kù)構(gòu)建。另外還有一個(gè)不同點(diǎn)就是ODBC需要在每臺(tái)電腦上都要進(jìn)行安裝,而JDBC是不要任何驅(qū)動(dòng)的,直接運(yùn)行就可以,而且就算需要可以通過(guò)瀏覽器自動(dòng)進(jìn)行安裝,無(wú)需我們?nèi)ゲ僮?,相?duì)來(lái)說(shuō)要方便很多。
2.3 程序擴(kuò)展性不同
前面我們提到,ASP可以和COM進(jìn)行組合,但是相對(duì)難度很大,這里面要使用到很多的COM控件,那么在編譯的時(shí)候要花大量的時(shí)間和資源去讀取COM控件,工作效率大大的降低,主要是因?yàn)锳SP用到的腳本語(yǔ)言比較受限制,主要是基于Script 語(yǔ)言,這種語(yǔ)言很多地方已經(jīng)不采用了,相對(duì)比較落后。而JSP是和JavaBean進(jìn)行組合擴(kuò)展的,相對(duì)COM來(lái)說(shuō)要方便很多,COM要進(jìn)行注冊(cè)后才能進(jìn)行使用,而JavaBean是不需要的,哪個(gè)難度更大一比較就知道了,程序的擴(kuò)展性好,那么在進(jìn)行動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)的時(shí)候相對(duì)就容易,和服務(wù)器響應(yīng)的時(shí)間就要短,所以相比之下JSP更占優(yōu)勢(shì)。
2.4 開(kāi)發(fā)效率不同
開(kāi)發(fā)效率一般要根據(jù)開(kāi)發(fā)環(huán)境來(lái)決定,現(xiàn)在有很多的大型網(wǎng)站已經(jīng)減少了ASP的使用頻率,但是中小型的企業(yè)網(wǎng)站還在使用,主要是因?yàn)槭紫華SP上手比較快,容易學(xué)習(xí),維護(hù)起來(lái)也方便,腳本語(yǔ)言相對(duì)來(lái)說(shuō)比較容易學(xué)習(xí),而且可以結(jié)合靜態(tài)頁(yè)面HTML來(lái)進(jìn)行編輯,方便維護(hù)。而JSP它是以JAVA為平臺(tái)的,JAVA很多人覺(jué)得比較難,在學(xué)習(xí)上有一定的困難,所以開(kāi)發(fā)效率相對(duì)比較低,這個(gè)是人們對(duì)這兩種開(kāi)發(fā)語(yǔ)言的認(rèn)識(shí)。其實(shí),正確使用JSP其實(shí)是現(xiàn)在的一個(gè)趨勢(shì),在開(kāi)發(fā)方面比較容易管理,提高效率。在維護(hù)方面也比較容易,難度這個(gè)因人而異,好的技術(shù)一定不是那么容易學(xué)習(xí)的,所以,在現(xiàn)在日趨網(wǎng)絡(luò)化的社會(huì),JSP 更適合部署同一時(shí)間用戶數(shù)量較多的大型網(wǎng)站。
2.5 安全性不同
目前的網(wǎng)絡(luò)安全是首當(dāng)其沖的,特別是很多電子商務(wù)類型的網(wǎng)站,網(wǎng)上交易和支付的風(fēng)險(xiǎn)越來(lái)越大,所以對(duì)于安全性的要求也越來(lái)越高。ASP一般情況下是在服務(wù)器端,我們?nèi)グl(fā)送請(qǐng)求,通過(guò)服務(wù)器驗(yàn)證得到返回,雖然可以不通過(guò)客戶,但是還是有一些問(wèn)題:首先是源碼的安全,由于 ASP 程序采用非編譯性語(yǔ)言, 大大降低了程序源代碼的安全性。一旦有人進(jìn)入到代碼中,那么就可以修改整個(gè)網(wǎng)站,甚至可以看到后臺(tái)的用戶信息,這樣來(lái)說(shuō)是非常危險(xiǎn)的。其次是安全問(wèn)題很容易被忽視,ASP中一般都是使用表單比較多,這些表單沒(méi)有經(jīng)過(guò)加密處理直接顯示在瀏覽器端,很容易產(chǎn)生不安全。一定要經(jīng)過(guò)驗(yàn)證才能進(jìn)入,否則就容易造成安全隱患。
JSP相對(duì)來(lái)說(shuō)比ASP做的就要好一些,主要是因?yàn)樵贘SP中先是交給JAVA虛擬機(jī)來(lái)進(jìn)行執(zhí)行,這樣源碼就不容易被黑客侵入,而且JSP中的程序都是放在不對(duì)外的目錄中,這樣安全性就要更高點(diǎn),并且 Java 能通過(guò)異常處理機(jī)制來(lái)有效防止系統(tǒng)的崩潰。
3 JSP的優(yōu)勢(shì)所在
從上面的分析看來(lái)我們很明顯的看到JSP要強(qiáng)于ASP,優(yōu)勢(shì)非常的明顯,主要是因?yàn)镴SP的技術(shù)存在比較強(qiáng)的優(yōu)勢(shì),我們來(lái)總結(jié)一下:
首先是JSP相對(duì)比較獨(dú)立,不需要操作系統(tǒng)或者其他平臺(tái)的支持,能夠在任何服務(wù)器上進(jìn)行運(yùn)行或者可以支持很多開(kāi)發(fā)商的環(huán)境,比較容易上手和使用。
其實(shí)是JSP比較受開(kāi)發(fā)人員的青睞,很多程序員比較喜歡用JSP來(lái)開(kāi)發(fā)網(wǎng)站,因?yàn)镴SP的組件用起來(lái)非常方便,ASP用的對(duì)象模型COM非常復(fù)雜,很容易出現(xiàn)問(wèn)題,這樣的情況下自然會(huì)選擇JSP。
最后就是JSP開(kāi)發(fā)是基于JAVA語(yǔ)言的,是目前最為流行的編程語(yǔ)言,而ASP用的VBScrip 或 Jscrip 語(yǔ)言比較落后,已經(jīng)不能成為主力軍了,JAVA的執(zhí)行力比較強(qiáng),能有效的防止系統(tǒng)問(wèn)題的產(chǎn)生,安全性要好。
4 總結(jié)
從以上比較可以發(fā)現(xiàn),JSP的優(yōu)點(diǎn)要強(qiáng)于ASP,并且在整個(gè)安全性上也要占據(jù)優(yōu)勢(shì),所以很多大的企業(yè)都采用JSP來(lái)進(jìn)行動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā),但是ASP因?yàn)楹?jiǎn)單也受到了很多人的喜歡,所以,在使用過(guò)程中, 技術(shù)人員應(yīng)該根據(jù)情況而定, 選擇合適的、開(kāi)發(fā)效率高的技術(shù)進(jìn)行開(kāi)發(fā)。
參考文獻(xiàn):
[1]苗境芝.動(dòng)態(tài)網(wǎng)頁(yè)的制作技巧[J].內(nèi)江科技,2007(10).
[2]朱小川.動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)[J].中國(guó)科技信息,2005(12).
[3]范云芝.動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)ASP、PHP和JSP比較分析[J].電腦知識(shí)與技術(shù),2005(29).
[4]金立群.嵌入式動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)ASP,PHP與JSP的比較[J].石家莊職業(yè)技術(shù)學(xué)院學(xué)報(bào),2004(02).
[作者簡(jiǎn)介]彭勝偉(1966-),河南信陽(yáng),職稱:副高,研究方向:計(jì)算機(jī)應(yīng)用技術(shù)。
計(jì)算機(jī)光盤軟件與應(yīng)用2012年23期