隨著Web技術(shù)的發(fā)展和電子商務(wù)時(shí)代的到來(lái),人們不再滿足于建立各種靜態(tài)地發(fā)布信息的網(wǎng)站,更多的時(shí)候需要能與用戶進(jìn)行交互,并能提供后臺(tái)數(shù)據(jù)庫(kù)的管理和控制等服務(wù)的動(dòng)態(tài)網(wǎng)站。
動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)技術(shù)
早期的動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)技術(shù)使用的是CGI-BIN接口。開(kāi)發(fā)人員編寫(xiě)與接口相關(guān)的單獨(dú)的程序和基于Web的應(yīng)用程序,后者通過(guò)Web服務(wù)器來(lái)調(diào)用前者。這種開(kāi)發(fā)技術(shù)存在著嚴(yán)重的擴(kuò)展性問(wèn)題――每一個(gè)新的CGI程序要求在服務(wù)器上新增一個(gè)進(jìn)程。如果多個(gè)用戶并發(fā)地訪問(wèn)該程序,這些進(jìn)程將耗盡該Web服務(wù)器所有的可用資源,直至其崩潰。
為克服這一弊端,微軟公司提出了Active Server Pages(ASP)技術(shù),該技術(shù)利用“插件”和API簡(jiǎn)化了Web應(yīng)用程序的開(kāi)發(fā)。ASP與CGI相比,其優(yōu)點(diǎn)是可以包含HTML標(biāo)簽,可以直接存取數(shù)據(jù)庫(kù)及使用無(wú)限擴(kuò)充的ActiveX控件,因此在程序編制上更富有靈活性。但該技術(shù)基本上是局限于微軟的操作系統(tǒng)平臺(tái)之上,主要工作環(huán)境是微軟的IIS應(yīng)用程序結(jié)構(gòu),所以ASP技術(shù)不能很容易地實(shí)現(xiàn)跨平臺(tái)的Web服務(wù)器程序開(kāi)發(fā)。
Hypertext Preprocessor(超文本預(yù)處理器),即PHP動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)技術(shù)與ASP相似,也是一種嵌入HTML文檔的服務(wù)器端腳本語(yǔ)言。其語(yǔ)法大部分與C、Java、Perl等語(yǔ)言相似,并形成了自己的獨(dú)有風(fēng)格,利用該語(yǔ)言Web程序員可以快速地開(kāi)發(fā)出動(dòng)態(tài)網(wǎng)頁(yè)。PHP在大多數(shù)Unix平臺(tái)、GUN/Linux和微軟Windows平臺(tái)上均可以運(yùn)行。PHP的優(yōu)點(diǎn)主要有:安裝方便,學(xué)習(xí)過(guò)程簡(jiǎn)單;數(shù)據(jù)庫(kù)連接方便,兼容性強(qiáng);擴(kuò)展性強(qiáng);可以進(jìn)行面向?qū)ο缶幊痰?。但PHP也存在一些弱點(diǎn),主要是PHP是一種解釋型語(yǔ)言,不支持多線程結(jié)構(gòu),支持平臺(tái)和連接的數(shù)據(jù)庫(kù)都有限,特別是在支持的標(biāo)準(zhǔn)方面存在先天不足,對(duì)于某些電子商務(wù)應(yīng)用來(lái)說(shuō),PHP是不適合的。
還有一些技術(shù),如Java Servlets技術(shù),利用該技術(shù)可以很容易地用Java語(yǔ)言編寫(xiě)交互式的服務(wù)器端代碼。一個(gè)Java Servlets就是一個(gè)基于Java技術(shù)的運(yùn)行在服務(wù)器端的程序(與Applet不同,后者運(yùn)行在瀏覽器端)。開(kāi)發(fā)人員編寫(xiě)這樣的Java Servlets,以接收來(lái)自Web瀏覽器的HTTP請(qǐng)求,動(dòng)態(tài)地生成響應(yīng)(可能需要查詢數(shù)據(jù)庫(kù)來(lái)完成這種請(qǐng)求),然后發(fā)送包含HTML或XML文檔的響應(yīng)到瀏覽器。這種技術(shù)對(duì)于普通的頁(yè)面設(shè)計(jì)者來(lái)說(shuō)要輕易地掌握是很困難的。采用這種方法,整個(gè)網(wǎng)頁(yè)必須都在Java Servlets中制作。如果開(kāi)發(fā)人員或者Web管理人員想要調(diào)整頁(yè)面顯示,就不得不編輯并重新編譯該Java Servlets。
太陽(yáng)微系統(tǒng)公司(Sun Microsystems Inc.)在Web服務(wù)器、應(yīng)用服務(wù)器、交易系統(tǒng)以及開(kāi)發(fā)工具供應(yīng)商間廣泛支持與合作下,整合并平衡了已經(jīng)存在的對(duì)Java編程環(huán)境(例如Java Servlets和JavaBeans)進(jìn)行支持的技術(shù)和工具后產(chǎn)生了一種新的、開(kāi)發(fā)基于Web應(yīng)用程序的方法――JavaServer Pages技術(shù)(JSP)。這種動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)技術(shù)主要有以下一些特點(diǎn):
能夠在任何Web或應(yīng)用程序服務(wù)器上運(yùn)行;
分離了應(yīng)用程序的邏輯和頁(yè)面顯示;
能夠進(jìn)行快速的開(kāi)發(fā)和測(cè)試;
簡(jiǎn)化了開(kāi)發(fā)基于Web的交互式應(yīng)用程序的過(guò)程。
JSP的技術(shù)方法
為了快速方便地進(jìn)行動(dòng)態(tài)網(wǎng)站的開(kāi)發(fā),JSP在以下幾個(gè)方面做了改進(jìn),使其成為快速建立跨平臺(tái)的動(dòng)態(tài)網(wǎng)站的先進(jìn)方案。
1.將內(nèi)容的生成和顯示進(jìn)行分離
用JSP技術(shù),Web頁(yè)面開(kāi)發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來(lái)設(shè)計(jì)和格式化最終頁(yè)面,并使用JSP標(biāo)識(shí)或者小腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容(內(nèi)容是根據(jù)請(qǐng)求變化的,例如請(qǐng)求賬戶信息或者特定的一瓶酒的價(jià)格等)。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在腳本中,所有的腳本在服務(wù)器端運(yùn)行。由于核心邏輯被封裝在標(biāo)識(shí)和JavaBeans中,所以Web管理人員和頁(yè)面設(shè)計(jì)者,能夠編輯和使用JSP頁(yè)面,而不影響內(nèi)容的生成。
在服務(wù)器端,JSP引擎解釋JSP標(biāo)識(shí)和腳本,生成所請(qǐng)求的內(nèi)容(例如,通過(guò)訪問(wèn)JavaBeans組件,使用JDBC技術(shù)訪問(wèn)數(shù)據(jù)庫(kù)或者包含文件),并且將結(jié)果以HTML(或者XML)頁(yè)面的形式發(fā)送回瀏覽器。這既有助于作者保護(hù)自己的代碼,又能保證任何基于HTML的Web瀏覽器的完全可用性。
2.可重用組件
絕大多數(shù)JSP頁(yè)面依賴于可重用的、跨平臺(tái)的組件(JavaBeans或者Enterprise JavaBeans組件)來(lái)執(zhí)行應(yīng)用程序所要求的復(fù)雜的處理。開(kāi)發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者和客戶團(tuán)體所使用?;诮M件的方法加速了總體開(kāi)發(fā)過(guò)程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開(kāi)發(fā)努力中得到平衡。
巨推傳媒(CALL:400-606-5558)網(wǎng)的網(wǎng)站建設(shè)點(diǎn)擊了解一下:
¥ 10000元起
·END·
巨推傳媒(CALL:400-606-5558)網(wǎng)提供微信代運(yùn)營(yíng)、小程序開(kāi)發(fā)、微信推廣、SEO、SEM、口碑營(yíng)銷、廣告投放等服務(wù)。推廣找巨推傳媒(CALL:400-606-5558),效果有保障。