摘要:隨著Web技術(shù)的發(fā)展,網(wǎng)頁(yè)由最初的靜態(tài)網(wǎng)頁(yè)轉(zhuǎn)變?yōu)閮?nèi)容更加豐富的動(dòng)態(tài)網(wǎng)頁(yè),動(dòng)態(tài)網(wǎng)頁(yè)具有良好的交互性、數(shù)據(jù)庫(kù)查詢、提高瀏覽效率等優(yōu)勢(shì)。針對(duì)當(dāng)前在動(dòng)態(tài)網(wǎng)頁(yè)制作中常用到的三種技術(shù)ASP、PHP、JSP,本文分析了這三種動(dòng)態(tài)網(wǎng)頁(yè)制作結(jié)束的特點(diǎn)以及應(yīng)用范圍,并就其應(yīng)用前景以及發(fā)展做了探討。
關(guān)鍵詞:動(dòng)態(tài)網(wǎng)頁(yè) ASP PHP JSP 應(yīng)用分析
中圖分類號(hào):TP393.09 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2016)10-0221-01
1 引言
動(dòng)態(tài)網(wǎng)頁(yè)指的是跟靜態(tài)網(wǎng)頁(yè)相對(duì)的一種網(wǎng)頁(yè)編程技術(shù)。靜態(tài)網(wǎng)頁(yè)隨著html代碼的生成,頁(yè)面的內(nèi)容和顯示效果除非修改頁(yè)面代碼否則基本上不會(huì)發(fā)生變化了。靜態(tài)網(wǎng)頁(yè)由于沒(méi)有數(shù)據(jù)庫(kù)支撐而當(dāng)有大量信息時(shí)工作量變大,但是隨著計(jì)算機(jī)和互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,用戶瀏覽由被動(dòng)的接受網(wǎng)頁(yè)內(nèi)容變?yōu)榕c網(wǎng)頁(yè)的交互。動(dòng)態(tài)網(wǎng)頁(yè)的頁(yè)面代碼雖然沒(méi)有變,但是顯示的內(nèi)容卻是可以隨著時(shí)間、環(huán)境或者數(shù)據(jù)庫(kù)操作的結(jié)果而發(fā)生改變,這是一種全新的媒體形式。目前最常用的三種動(dòng)態(tài)網(wǎng)頁(yè)語(yǔ)言是ASP、JSP、PHP。
2 三種動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)特點(diǎn)
2.1 ASP技術(shù)特點(diǎn)
ASP是由微軟開(kāi)發(fā)的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù),具體指應(yīng)用于Web服務(wù)端的開(kāi)發(fā)環(huán)境,主要使用的是VBScript和JavaScript兩種腳本語(yǔ)言嵌入到HTML中進(jìn)行服務(wù)端的編程,也可以在安裝腳本引擎的基礎(chǔ)上使用其他的腳本語(yǔ)言?;咎攸c(diǎn)如下:
(1)語(yǔ)言兼容性。ASP可以與任何的ActiveX Scripting語(yǔ)言兼容,除了主要使用的兩種語(yǔ)言以外,還能通過(guò)plug in的方式使用第三方提供 的如Perl這樣的腳本語(yǔ)言。(2)語(yǔ)言編輯簡(jiǎn)單。不需要使用專門的程序編輯器,可直接使用普通的文本編輯器,如Windows自帶的記事本。并無(wú)需進(jìn)行Compile編譯,可以在服務(wù)端直接執(zhí)行,更方便了程序編寫(xiě)。還可以使用服務(wù)器段的腳本去生成客戶端的腳本。(3)瀏覽器無(wú)限制性。用戶在客戶端僅需要打開(kāi)可以執(zhí)行HTML代碼的瀏覽器,即可以瀏覽ASP設(shè)計(jì)的網(wǎng)頁(yè)內(nèi)容。
2.2 PHP技術(shù)特點(diǎn)
(1)數(shù)據(jù)庫(kù)連接。PHP可以通過(guò)ODBC對(duì)Apache Server、MySQL、Sybase、Oracle等各種數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn),且提供與這些數(shù)據(jù)庫(kù)相互連接到的函數(shù)。上述數(shù)據(jù)庫(kù)中與MySQL是最佳的組合。(2)開(kāi)放免費(fèi)性。PHP的源代碼是完全開(kāi)放的,且PHP可以從官方網(wǎng)站上自由下載,且與其配合使用的各種數(shù)據(jù)庫(kù)也是免費(fèi)下載的。(3)跨平臺(tái)性。PHP可以在Windows、Unix、Linux等操作系統(tǒng)和IIS及Apache等服務(wù)器上運(yùn)行,代碼可以重復(fù)利用。PHP中的函數(shù)非常豐富,在實(shí)現(xiàn)功能方面無(wú)需像ASP引入專門的控件,只需要調(diào)用相應(yīng)功能的函數(shù)即可。(4)面向?qū)ο缶幊?。PHP是面向?qū)ο蟮木幊?,因此可以提供類和?duì)象的功能,將代碼中具有相關(guān)聯(lián)性的數(shù)據(jù)和對(duì)數(shù)據(jù)的操作放在一起,作為一個(gè)相互依存,不可分割的整體來(lái)處理,使程序簡(jiǎn)單化并更容易維護(hù),且增加了代碼的重復(fù)利用效率。
2.3 JSP技術(shù)特點(diǎn)
(1)基于平臺(tái)與服務(wù)器獨(dú)立。與PHP一樣,可以在Windows、Linux等平臺(tái)執(zhí)行。在NT下的IIS外加一個(gè)服務(wù)器也可以支持JSP,廣泛應(yīng)用在各系統(tǒng)的服務(wù)器Apache也能支持JSP。(2)內(nèi)容生成與顯示分離。在JSP技術(shù)的使用過(guò)程中,Web頁(yè)面的開(kāi)發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來(lái)對(duì)頁(yè)面進(jìn)行設(shè)計(jì)。這些腳本都在服務(wù)端運(yùn)行,與ASP類似仍是在服務(wù)端使用JSP引擎解釋生成內(nèi)容并通過(guò)HTML的方式發(fā)送到客戶端的瀏覽器,這樣也使JSP具有了高保密性。(3)依賴組件的重用。當(dāng)執(zhí)行的應(yīng)用程序要求比較復(fù)雜時(shí),大部分的JSP頁(yè)面都會(huì)依賴于可以重復(fù)使用的組件,開(kāi)發(fā)人員可以對(duì)普通操作的組件進(jìn)行共享與交換,這樣加快了開(kāi)發(fā)的過(guò)程,且使組件在現(xiàn)有技能與優(yōu)化結(jié)果的基礎(chǔ)上得到平衡。(4)使用標(biāo)識(shí)簡(jiǎn)化開(kāi)發(fā)。JSP內(nèi)部封裝了許多功能,標(biāo)準(zhǔn)的JSP標(biāo)識(shí)可以訪問(wèn)實(shí)例化的JavaBeans組件,設(shè)置或者檢索組件的屬性,下載Applet以及執(zhí)行較難編碼和消耗時(shí)間的任務(wù)。除此以外,JSP技術(shù)也可以通過(guò)定制表示庫(kù)來(lái)擴(kuò)展,第三方的開(kāi)發(fā)人員可以創(chuàng)建常用功能的標(biāo)識(shí)庫(kù),像使用快捷構(gòu)件一樣用此來(lái)執(zhí)行特定的其他功能。JSP技術(shù)還可以被整合到其他的應(yīng)用體系中,支撐企業(yè)級(jí)的分布式應(yīng)用和支持復(fù)雜度更好的基于Web的應(yīng)用。
2.4 三種技術(shù)比較
(1)穩(wěn)定性。PHP的穩(wěn)定性要高于ASP,但是都不如傳統(tǒng)的CGI程序,CGI程序直接由操作系統(tǒng)控制,系統(tǒng)的穩(wěn)定性不會(huì)受到程序差錯(cuò)的干擾。JSP的穩(wěn)定性也比較良好。(2)開(kāi)發(fā)維護(hù)時(shí)間。PHP與ASP的開(kāi)發(fā)和維護(hù)時(shí)間都比較良好,但是JSP的開(kāi)發(fā)速度比較慢。在與網(wǎng)頁(yè)的結(jié)合能力方面,ASP與PHP都比較良好,而JSP無(wú)法內(nèi)嵌HTTL語(yǔ)法,會(huì)影響開(kāi)發(fā)效果。(3)安全性。ASP曾經(jīng)發(fā)生過(guò)比較嚴(yán)重的漏洞,后微軟推出了針對(duì)該漏洞的補(bǔ)丁,除此以外ASP使用的組件也會(huì)導(dǎo)致系統(tǒng)不安全。PHP在與眾多商業(yè)網(wǎng)站的使用過(guò)程中,并沒(méi)有出現(xiàn)過(guò)安全問(wèn)題。傳統(tǒng)的CGI程序是由操作系統(tǒng)直接管理的,因此破解難度很高,也具有一定的安全性。(4)擴(kuò)展性。PHP的擴(kuò)展性不如ASP的擴(kuò)展性強(qiáng),ASP可以通過(guò)使用jscript、pelscript或者xsript來(lái)使用腳本語(yǔ)言。(5)執(zhí)行性。PHP和早期的ASP都屬于解釋型,執(zhí)行效率較慢,后期ASP除了第一次加載編譯之后的執(zhí)行效率相當(dāng)快速,JSP與后期的ASP相同也在執(zhí)行效率上有明顯的提高。
3 動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)應(yīng)用范圍
由于IIS支持的ASP的開(kāi)發(fā)商是是Mircosoft,因此只能運(yùn)行于在Mircosoft的服務(wù)器產(chǎn)品IIS和PWS上。Unix下也有相應(yīng)插件來(lái)支撐ASP,但是需要對(duì)ASP進(jìn)行與COM疊加的擴(kuò)充,Unix下的COM實(shí)現(xiàn)也不易。ASP.NET是基于通用語(yǔ)言的編譯運(yùn)行程序,這種基本庫(kù)擁有的消息機(jī)制可以讓數(shù)據(jù)接口能夠與ASP.NET進(jìn)行無(wú)縫銜接,其強(qiáng)大的適應(yīng)新使其可以運(yùn)行在Web應(yīng)用軟件開(kāi)發(fā)的所有平臺(tái)當(dāng)中。在很大程度上,ASP.NET可以與ASP進(jìn)行兼容,具有更好的伸縮性和穩(wěn)定性。JSP是屬于Java旗下,因此也具備了Java的優(yōu)勢(shì),可以運(yùn)行于所有平臺(tái)。如果在 NT下IIS要能運(yùn)行JSP需要增加一個(gè)類似JRUN的插件。世界排名第一的Web服務(wù)器Apache己經(jīng)能夠支持JSP。在不同的平臺(tái)進(jìn)行移植的時(shí)候,JSP和JavaBean不用再重新編譯,因?yàn)镴ava字節(jié)碼都是標(biāo)準(zhǔn)的與平臺(tái)無(wú)關(guān)的。PHP可以在Windows、Unix、Linux的Web服務(wù)器上正常的運(yùn)行,其語(yǔ)法也混合了多種開(kāi)發(fā)語(yǔ)言,開(kāi)發(fā)者不僅對(duì)其更容易掌握,而且還可以快速高效的編寫(xiě)動(dòng)態(tài)頁(yè)面。用戶在對(duì)平臺(tái)進(jìn)行更換時(shí),可以不用修改PHP代碼。當(dāng)前的主流的Web服務(wù)器軟件由IIS和Apache組成。常用的開(kāi)發(fā)組合有如下:
(1)IIS環(huán)境。ASP+ACCESS、ASP+SQL SERVER、ASP.NET+ACCESS、ASP.NET+SQL SERVER。(2)APACHE環(huán)境JSP+ORACLE、JSP+MYSQL、PHP+MYSQL。
4 動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)應(yīng)用前景
目前在國(guó)內(nèi)應(yīng)用最為廣泛的是PHP與ASP。PHP本身存在的缺陷使其不適合在大型的電子商務(wù)網(wǎng)站中使用,而更適合小型的商業(yè)網(wǎng)站,JSP作為一種比較新興的技術(shù),在國(guó)內(nèi)使用的比較少,但是在國(guó)外,JSP己經(jīng)是比較流行的一種技術(shù),尤其是電子商務(wù)類的網(wǎng)站。JSP基于平臺(tái)和服務(wù)器的獨(dú)立性以及可擴(kuò)展性可以使JSP對(duì)Web數(shù)據(jù)庫(kù)的應(yīng)用當(dāng)中更具有競(jìng)爭(zhēng)力。PHP缺乏規(guī)模、多結(jié)構(gòu)以及分布計(jì)算的支持,而且對(duì)除MYSQL以外的數(shù)據(jù)庫(kù)接口不統(tǒng)一,導(dǎo)致其無(wú)法很好地使用在商務(wù)網(wǎng)站中。但是在對(duì)體系進(jìn)行完善之后,PHP與java也實(shí)現(xiàn)了連接,使其也可以在企業(yè)級(jí)的市場(chǎng)中被應(yīng)用,可以在某一些方面取代JSP。ASP和JSP則不存在以上問(wèn)題,ASP可以通過(guò)COM/DCOM獲得ActiveX規(guī)模支持,通過(guò)DOOM和Transcation Server獲得結(jié)構(gòu)支持。JSP可以通過(guò)Java Class和EJB獲得規(guī)模支持,通過(guò)EJB或者CORBA獲得結(jié)構(gòu)支持。三者相比較,JSP應(yīng)該是未來(lái)發(fā)展的趨勢(shì)。當(dāng)前國(guó)外一些大型的電子商務(wù)解決方案提供商都采用JSP/Servlet 。
5 結(jié)語(yǔ)
Web后端的開(kāi)發(fā)語(yǔ)言當(dāng)中,在對(duì)ASP、PHP和JSP三種技術(shù)進(jìn)行比較以后,都各有優(yōu)勢(shì)。由于JSP采用的Java語(yǔ)言使其的優(yōu)勢(shì)更大。但是效率高于開(kāi)發(fā)方便無(wú)法進(jìn)行權(quán)衡,因此只能根據(jù)網(wǎng)站的需求進(jìn)行選擇。并且在市場(chǎng)中也需要三種技術(shù)也需要相互共存,并且可以在將來(lái)通過(guò)Web服務(wù)實(shí)現(xiàn)交互操作,用戶可以因此獲取最優(yōu)的解決方案。
參考文獻(xiàn)
[1]徐峰.ASP,PHP和JSP技術(shù)的比較研究[J].電子技術(shù),2001(3):45-46.
[2]余波等.動(dòng)態(tài)Web應(yīng)用高級(jí)開(kāi)發(fā)指南[M].北京:人民郵電出版社,1999.
[3]邱仲潘,等譯.Active Server Pages3從入門到精通[M].北京:電子工業(yè)出版社,2000.
[4]陸振光,常晉義.電子商務(wù)(第二版)[M].北京:中國(guó)電力出版社,2005.
收稿日期:2016-09-14
作者簡(jiǎn)介:吳秀娟(1982—),女,河南駐馬店人,研究生,畢業(yè)于吉林師范大學(xué),工程師,研究方向:計(jì)算機(jī)應(yīng)用。