王 景
(甘肅交通職業(yè)技術(shù)學(xué)院,甘肅 蘭州 730070)
隨著我國Internet技術(shù)的不斷發(fā)展,先前各種靜態(tài)信息發(fā)布的網(wǎng)站已經(jīng)開始不能滿足人民的需求,用戶在進行信息傳遞的同時也需要同用戶進行交流,因此,需要研究出一種動態(tài)的網(wǎng)站技術(shù),其不僅可以提供后臺的控制服務(wù),同時也需要提供后臺的數(shù)據(jù)庫管理服務(wù).動態(tài)網(wǎng)站技術(shù)的發(fā)展促進了網(wǎng)上娛樂、電子商務(wù)、網(wǎng)上購物等網(wǎng)絡(luò)技術(shù)的發(fā)展.起初的CGI、ASP技術(shù)對于動態(tài)網(wǎng)頁技術(shù)的開發(fā)存在一定的阻礙作用,雖然后者比前者存在一定的優(yōu)勢,但是要想實現(xiàn)跨平臺的網(wǎng)絡(luò)技術(shù)開發(fā)還是存在一定的阻礙.用戶對動態(tài)網(wǎng)站技術(shù)的需求促進了JSP技術(shù)的發(fā)展,其是由SUN公司研發(fā)的,有效的突破的先前技術(shù)的限制,更好的建立了一個安全、先進和跨平臺網(wǎng)絡(luò)發(fā)展的動態(tài)網(wǎng)站.
JSP是由很多公司一起創(chuàng)辦的的動態(tài)網(wǎng)站技術(shù),其技術(shù)和ASP技術(shù)比較相近,其主要是在傳統(tǒng)HTML(*.htm)網(wǎng)頁技術(shù)基礎(chǔ)之上插入了 JSP(tag)標記和Java(Scriptlet)程序,在加入一些輔助程序,最后形成了JSP文件.JSP動態(tài)網(wǎng)站技術(shù)是一種跨平臺的先進技術(shù),其不僅可以在Linux系統(tǒng)中運行,而且也可以在其他它操作系統(tǒng)中運行.JSP動態(tài)網(wǎng)站可以借助 Java(Scriptlet)程序和 JSP(tag)標記不僅用于訪問網(wǎng)絡(luò)服務(wù)端的資源,而且也可以封裝動態(tài)網(wǎng)頁的處理編輯.JSP可以很好的支持網(wǎng)頁設(shè)計和網(wǎng)頁邏輯的分離,有效的提升了Web應(yīng)用程序的開發(fā).
JSP動態(tài)網(wǎng)站的頁面是由Java代碼和HTML代碼組成的,其服務(wù)器首先被用戶請求之后通過Java代碼進行處理,隨后將產(chǎn)生的HTLM頁面呈現(xiàn)在用戶的瀏覽器上.JSP的技術(shù)基礎(chǔ)是Java Servlet,并且一些大型應(yīng)用程序的研發(fā)也需要JSP和Java Servlet的配合才能很好的實現(xiàn).JSP動態(tài)網(wǎng)站服務(wù)器的反映速度比較快,并且可以保留以前運行的各類編譯,在下次再次請求時將會被調(diào)用出來,有效的節(jié)省了編譯的響應(yīng)時間.
傳統(tǒng)的動態(tài)網(wǎng)站技術(shù)一般采用了CGI-BIN接口,研發(fā)人員編寫了基于Web的應(yīng)用程序和一些與計算機接口相關(guān)的程序,前者可以借助Web服務(wù)器調(diào)用后者.這樣的開發(fā)技術(shù)存在著一系列的弊端,尤為嚴重的是每編譯一個CGI程序都需要在增添一個新的進程在服務(wù)器上.此時,如果有更多的用戶需要訪問這個程序,將會把Web服務(wù)器上所擁有的資源完全耗盡,直至服務(wù)器崩潰.
3.2.1 Java Servlet技術(shù)
Java Servlet技術(shù)可以很好的利用Java語言編寫服務(wù)器的交互式代碼,每個Java Servlet需要一個與之對應(yīng)的Java技術(shù)在服務(wù)器的程序上運行,然而Applet只是在瀏覽器端運行.研發(fā)人員在編寫Java Servlet程序時,通過動態(tài)的響應(yīng)HTTP的請求,并將XML或HTML的文檔發(fā)送到響應(yīng)的瀏覽器之上.這樣技術(shù)的掌握對于研發(fā)人員來說是比較困難的,因為這種技術(shù)必須在Java Servlet中才能很好的完成.如果研發(fā)人員要想調(diào)整瀏覽器頁面的顯示,就必須在Java Servlet上進行重新編譯.
3.2.2 Active Server Pages(ASP)技術(shù)
為了有效的克服上述缺點,相關(guān)公司通過研究提出了ASP技術(shù),這種技術(shù)通過API和“插件”有效的簡化了Web應(yīng)用程序.其與CGI相比,主要的優(yōu)點是具備了HTML標簽,該技術(shù)提高了程序編譯的靈活性,可以很好的實現(xiàn)Active控件的擴展.但是這種技術(shù)僅僅局限于有限的系統(tǒng)中,例如微軟操作系統(tǒng)等,因此,該技術(shù)很難實現(xiàn)Web服務(wù)器跨平臺開發(fā),這就需要研發(fā)人員及時的研究出新技術(shù),更好的改善其不足.
3.2.3 PHP動態(tài)網(wǎng)站開發(fā)技術(shù)
該技術(shù)基本上與ASP技術(shù)相差不多,其語言和Java、C、Perl比較相似,借助這些語言可以有效的實現(xiàn)動態(tài)網(wǎng)站的開發(fā),并具有自己獨特的風(fēng)格.PHP在大多數(shù)平臺上都可以運行,例如微軟Windows平臺、GUN/Linux平臺、Unix平臺等.PHP技術(shù)主要的優(yōu)點包括安裝起來比較方便、數(shù)據(jù)庫的兼容性比較強、比較容易掌握、具有很強的擴展性能、可以實現(xiàn)面向?qū)ο蟮木幊痰?但是該技術(shù)也會存在一些方面的缺點,例如不能支持多線程結(jié)構(gòu)、數(shù)據(jù)的連接和支持平臺比較有限.PHP不能很好的適用于電子商務(wù)的應(yīng)用,并且缺乏變準規(guī)范的支持力度.
3.2.4 JavaServer Pages技術(shù)(JSP)
Sun公司通過與多家廠商的合作,有效的平衡了自己的Java編程環(huán)境,并研發(fā)出一種新型的應(yīng)用程序編程方法,即JavaServer Pages技術(shù)(JSP).該動態(tài)網(wǎng)站技術(shù)的開發(fā)主要具有以下幾方面的特點,其能夠在任何應(yīng)用程序和Web服務(wù)器上運行;有效的提升了其測試和開發(fā)的效率;對頁面顯示和應(yīng)用程序的邏輯進行了有效的分離;簡化了Web交互式應(yīng)用程序的開發(fā)過程.
之所以JSP動態(tài)網(wǎng)站會受到廣大研發(fā)人員的喜愛,就是因為其具有很多其它網(wǎng)站所沒有的優(yōu)點,其具體優(yōu)點如下.
4.1.1 開發(fā)環(huán)節(jié)與操作平臺無關(guān)
JSP動態(tài)網(wǎng)站幾乎可以在任意環(huán)境的平臺上研發(fā),并且還可以在任意環(huán)境中進行擴展和系統(tǒng)部署.并且編譯一次之后,在以后的操作和修改過程中不需要在對其編碼進行修改.
4.1.2 可伸縮性能比較強大
JSP從一開始就用一個小的Jar文件就可以去運行JSP/Servlet,隨著軟件功能的不斷強大,其最后伸展到由多臺服務(wù)器共同去處理負載均衡和集群集合等操作,并進行相應(yīng)的消息處理和事物處理.JSP動態(tài)網(wǎng)站從一臺服務(wù)器發(fā)展到了多臺服務(wù)器,顯示了Java強大的生命力.
4.1.3 有效的分離了頁面顯示和程序邏輯
通過JSP技術(shù),動態(tài)網(wǎng)站的研發(fā)人員通過使用XML標識或HTML標識對頁面進行設(shè)計和格式化,并對一些動態(tài)內(nèi)容采用了小腳本和JSP標識來生成.
4.1.4 很好的支持了服務(wù)器端組件
用戶在進行網(wǎng)絡(luò)應(yīng)用時需要有效的服務(wù)器端組件進行支持,并且需要研發(fā)人員采用比較先進的設(shè)計工具,來很好的實現(xiàn)供Web頁面調(diào)用的復(fù)雜功能,借此來強化動態(tài)系統(tǒng)的功能.與此同時JSP系統(tǒng)還可以通過比較成熟的JAVA組件來進一步完成那些復(fù)雜的商務(wù)功能.
任何創(chuàng)新技術(shù)的產(chǎn)生都具有兩面性,其不僅具有優(yōu)點,同時也會在某些方面存在一定的缺陷,JSP動態(tài)網(wǎng)站技術(shù)也不列外,其主要的缺點包括,一是,JSP技術(shù)與ASP技術(shù)相同,其Java系統(tǒng)所具有的優(yōu)勢之中也會包含較大的缺點.為了更好的實現(xiàn)JSP動態(tài)網(wǎng)站功能,例如極限的伸展能力、跨平臺操作等,在滿足其先進功能的同時,也嚴重增加了其產(chǎn)品的復(fù)雜性.二是,JSP動態(tài)網(wǎng)站技術(shù)中Java的運行速度需要通過class常駐的內(nèi)存來完成,但是相對于用戶的數(shù)量來說,其內(nèi)存只具有“最低性能的價格比”.三是,JSP動態(tài)網(wǎng)站還需要充足的硬盤空間以有效的存儲那些應(yīng)用文件和相應(yīng)的版本文件.
為了更好的滿足網(wǎng)絡(luò)技術(shù)發(fā)展需求,方便動態(tài)網(wǎng)站的開發(fā)環(huán)節(jié),JSP做了很多方面的改進,使其逐漸成了動態(tài)網(wǎng)站跨平臺發(fā)展的最佳方案.具體的改進方法和措施如下.
JSP動態(tài)網(wǎng)站技術(shù)的發(fā)展,可以使Web頁面研發(fā)人員通過借助XLM或HTML標識來實現(xiàn)最終頁面的設(shè)計和格式化過程,并使用小腳本和JSP標識來實現(xiàn)動態(tài)內(nèi)容在頁面上的顯示.生成動態(tài)內(nèi)容的邏輯被及時有效的封裝在JavaBeans組件和標識中,并且保證捆綁的腳本能夠在服務(wù)器端運行.由于動態(tài)內(nèi)容被封裝在JavaBeans組件和標識中,因此Web研發(fā)和管理人員能夠在不影響內(nèi)容生成的同時確保對JSP頁面進行編輯和使用.
Web的研發(fā)人員不可能都是高級的編程人員,他們有些人對編譯語言的腳本還不太熟悉.JSP動態(tài)網(wǎng)站技術(shù)有效的封裝了很多功能,這些功能一般都是在與JSP有關(guān)的XML動態(tài)內(nèi)容產(chǎn)生過程中所必須的.標準的JSP技術(shù)能夠?qū)嵗驮L問JavaBeans組件,并對組建的屬性進行有效的設(shè)置和檢索.
大部分JSP頁面不僅需要依賴于跨平臺的組建同時更需要可重用的組件,例如Enterprise JavaBeans或JavaBeans組件,通過這些組件可以很好的對一些復(fù)雜程序進行處理.研發(fā)人員不僅能夠保證這些組件被更多的客戶使用,而且還能實現(xiàn)普通操作組件的共享和交換.可重用組件的研發(fā)有效的提高了動態(tài)網(wǎng)站技術(shù)的開發(fā)進度,并很好的平衡了各種組件的現(xiàn)有技能和優(yōu)化效果.
Java幾乎可以適應(yīng)于所有的平臺,并且JSP+JavaBeans可以在所有運行平臺下暢通無阻.當(dāng)需要從一個平臺轉(zhuǎn)移到另外一個平臺時,JSP和JavaBeans幾乎不需要對編碼進行改換,因為Java采用的都是標準的字節(jié)碼,其一般與所選取的平臺是無關(guān)的.
Java系統(tǒng)中的JDBC具有數(shù)據(jù)庫連接的功能,該程序通過與數(shù)據(jù)庫的連接,并可以對數(shù)據(jù)進行查詢和提取.JSP動態(tài)網(wǎng)站中的JDBC-ODBC技術(shù)可以保證Java程序訪問一些具有ODBC程序的數(shù)據(jù)庫,并且?guī)в蠴DBC程序的數(shù)據(jù)庫種類很多.因此,Java程序可以訪問很多類型的數(shù)據(jù)庫,例如:MS、Oracle、SQL和 MS Access等.
與此同時,JSP動態(tài)網(wǎng)站技術(shù)可以將自己的標準庫進行有效的擴展,并且研發(fā)人員可以創(chuàng)建屬于自己的標識庫,其中包含了一些常用的功能.這樣做可以更好的確保Web研發(fā)人員熟悉軟件所擁有的基本功能,有效的提高了工作效率.JSP動態(tài)網(wǎng)站技術(shù)可以借用現(xiàn)存技能和工具,將該技術(shù)很好的擴展到多種體系結(jié)構(gòu)中.JSP能夠很好的應(yīng)用于復(fù)雜的Web之中,并且具有基于Java的內(nèi)置腳本語言,Java Servlet可以編譯所有的JSP頁面,并且具有Java的所有好處,主要包括其安全性和存儲管理.
綜上所述,隨著我國網(wǎng)站技術(shù)的不斷發(fā)展和完善,要想更好的應(yīng)用JSP動態(tài)網(wǎng)站,就必須對其所具有的優(yōu)點和缺點進行分析和規(guī)劃,并采取一些有效的措施予以解決.只有這樣我們才能相信在不久的將來,經(jīng)過研發(fā)人員的不斷努力,一定會研究出一套更加完美、更加系統(tǒng)的網(wǎng)站開發(fā)軟件系統(tǒng).
〔1〕范春曉.淺談JSP動態(tài)網(wǎng)站開發(fā)技術(shù)[J].中國科技博覽,2011,3(5):17-18.
〔2〕史學(xué)梅.基于JavaScript的JSP頁面數(shù)據(jù)導(dǎo)出Excel[J].現(xiàn)代計算機,2010,3(4):78-80.
〔3〕亦清.《JSP動態(tài)網(wǎng)站開發(fā)》課程開發(fā)的難點分析[J].中國科教創(chuàng)新導(dǎo)刊,2012,5(16):88-90.
〔4〕何倩.動態(tài)網(wǎng)站構(gòu)建技術(shù)安全性分析[J].動態(tài)網(wǎng)站構(gòu)建技術(shù)安全性分析,2009,33(16):178-179.