用JSP構(gòu)建動(dòng)態(tài)網(wǎng)站 (4)
發(fā)表時(shí)間:2023-07-30 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]八、 技術(shù)分析 Microsoft 公司的 ASP 技術(shù)也是動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)。JSP和ASP從形式上非常相似,ASP程序員一眼就能認(rèn)出<% %>以及<%= %>。但是深入探究下去會(huì)發(fā)現(xiàn)它們很多的...
八、 技術(shù)分析
Microsoft 公司的 ASP 技術(shù)也是動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)。JSP和ASP從形式上非常相似,ASP程序員一眼就能認(rèn)出<% %>以及<%= %>。但是深入探究下去會(huì)發(fā)現(xiàn)它們很多的差別,其中最主要的有以下三點(diǎn):
1、 JSP的效率和安全性更高
ASP以源碼形式存放,以解釋方式運(yùn)行,每次ASP網(wǎng)頁(yè)調(diào)用都需要對(duì)源碼進(jìn)行解釋?zhuān)\(yùn)行效率不高。另外,IIS的漏洞曾使得許多網(wǎng)站源程序大曝光,包括筆者以前用ASP開(kāi)發(fā)的網(wǎng)站,ASP程序全部被人下載了去。
JSP在執(zhí)行以前先被編譯成字節(jié)碼 (byte code),字節(jié)碼由Java虛擬機(jī)(Java Virtual Machine)解釋執(zhí)行,比源碼解釋的效率高;服務(wù)器上還有字節(jié)碼的Cache機(jī)制,能提高字節(jié)碼的訪問(wèn)效率。第一次調(diào)用JSP網(wǎng)頁(yè)可能稍慢,因?yàn)樗痪幾g成Cache,以后就快得多了。同時(shí),JSP源程序不大可能被下載,特別是JavaBean程序完全可以放到不對(duì)外的目錄中。
2、 JSP的組件 (Component) 方式更方便
ASP通過(guò)COM來(lái)擴(kuò)充復(fù)雜的功能,如文件上載、發(fā)送email以及將業(yè)務(wù)處理或者復(fù)雜計(jì)算分離出來(lái)成為獨(dú)立可重復(fù)利用的模塊。JSP通過(guò)JavaBean實(shí)現(xiàn)了同樣的功能擴(kuò)充。
在開(kāi)發(fā)方面,COM的開(kāi)發(fā)遠(yuǎn)比JavaBean復(fù)雜和繁瑣,學(xué)會(huì)ASP不難,但學(xué)會(huì)開(kāi)發(fā)COM可不簡(jiǎn)單。而JavaBean就簡(jiǎn)單多了,從本文上述示例中可以看出開(kāi)發(fā)JavaBean很方便。
在維護(hù)方面,COM必須在服務(wù)器上注冊(cè),如果修改了COM程序,就必須重新注冊(cè),甚至必須關(guān)機(jī)和重新啟動(dòng)。JavaBean則不需要注冊(cè),放在CLASSPATH包含的目錄中就行了。如果JavaBean進(jìn)行了修改,則JSWDK和Tomcat現(xiàn)在還需要關(guān)閉和重新運(yùn)行(但不是關(guān)機(jī)),但開(kāi)發(fā)者已經(jīng)許諾將在以后的版本中做到不需要關(guān)閉服務(wù)器。
另外JavaBean是完全的OOP,可以針對(duì)不同的業(yè)務(wù)處理功能方便地建立一整套可重復(fù)利用的對(duì)象庫(kù),例如用戶(hù)權(quán)限控制、email自動(dòng)回復(fù)等等。
3、 JSP的適應(yīng)平臺(tái)更廣
ASP目前僅適用于NT和IIS。雖然Unix下有ChiliSoft的插件來(lái)支持ASP,但是ASP本身的功能有限,必須通過(guò)ASP+COM的組合來(lái)擴(kuò)充,Unix下的COM實(shí)現(xiàn)起來(lái)非常困難。
JSP則不同,幾乎所有平臺(tái)都支持Java,JSP+JavaBean可以在所有平臺(tái)下通行無(wú)阻。NT下IIS通過(guò)一個(gè)插件,例如JRUN(http://www3.allaire.com/products/jrun/)或者ServletExec(http://www.newatlanta.com/),就能支持JSP。著名的Web服務(wù)器Apache已經(jīng)能夠支持JSP。由于Apache廣泛應(yīng)用在NT、Unix和Linux上,因此JSP有更廣泛的運(yùn)行平臺(tái)。雖然現(xiàn)在NT操作系統(tǒng)占了很大的市場(chǎng)份額,但是在服務(wù)器方面Unix的優(yōu)勢(shì)仍然很大,而新崛起的Linux更是來(lái)勢(shì)不小。
從一個(gè)平臺(tái)移植到另外一個(gè)平臺(tái),JSP和JavaBean甚至不用重新編譯,因?yàn)镴ava字節(jié)碼都是標(biāo)準(zhǔn)的與平臺(tái)無(wú)關(guān)的。筆者將在NT下實(shí)驗(yàn)的JSP網(wǎng)頁(yè)原封不動(dòng)地拿到Linux下就運(yùn)行起來(lái)了,感覺(jué)非常滿(mǎn)意。
九、 結(jié)論
綜上所述,JSP可謂是構(gòu)建動(dòng)態(tài)網(wǎng)站的一個(gè)利器,故推薦給讀者,祝愿你們掌握J(rèn)SP,開(kāi)發(fā)出優(yōu)秀的網(wǎng)站。ASP程序員也請(qǐng)?jiān)囈幌拢琂SP里也有session、request、response/out等對(duì)象,親自試試看如何。
附文
這里是關(guān)于JSP的重要參考資料,有興趣的讀者可以進(jìn)一步閱讀。
http://java.sun.com/products/jsp/faq.html
http://www.esperanto.org.nz/jsp/jspfaq.html
http://www.zdnet.com/pcweek/stories/news/0,4153,410709,00.html
http://developer.netscape.com/viewsource/kuslich_jsp
/kuslich_jsp.html
http://web2.java.sun.com/products/jsp/jsp-asp.html
http://www.asptoday.com/articles/19991022.htm