用JSP構建動態網站 (4)
來源:互聯網
上載者:User
js|動態 八、 技術分析
Microsoft 公司的 ASP 技術也是動態網頁開發技術。JSP和ASP從形式上非常相似,ASP程式員一眼就能認出<% %>以及<%= %>。但是深入探究下去會發現它們很多的差別,其中最主要的有以下三點:
1、 JSP的效率和安全性更高
ASP以源碼形式存放,以解釋方式運行,每次ASP網頁調用都需要對源碼進行解釋,運行效率不高。另外,IIS的漏洞曾使得許多網站來源程式大曝光,包括筆者以前用ASP開發的網站,ASP程式全部被人下載了去。
JSP在執行以前先被編譯成位元組碼 (byte code),位元組碼由Java虛擬機器(Java Virtual Machine)解釋執行,比源碼解釋的效率高;伺服器上還有位元組碼的Cache機制,能提高位元組碼的訪問效率。第一次調用JSP網頁可能稍慢,因為它被編譯成Cache,以後就快得多了。同時,JSP來源程式不大可能被下載,特別是JavaBean程式完全可以放到不對外的目錄中。
2、 JSP的組件 (Component) 方式更方便
ASP通過COM來擴充複雜的功能,如檔案上傳、發送email以及將業務處理或者複雜計算分離出來成為獨立可重複利用的模組。JSP通過JavaBean實現了同樣的功能擴充。
在開發方面,COM的開發遠比JavaBean複雜和繁瑣,學會ASP不難,但學會開發COM可不簡單。而JavaBean就簡單多了,從本文上述樣本中可以看出開發JavaBean很方便。
在維護方面,COM必須在伺服器上註冊,如果修改了COM程式,就必須重新註冊,甚至必須關機和重新啟動。JavaBean則不需要註冊,放在CLASSPATH包含的目錄中就行了。如果JavaBean進行了修改,則JSWDK和Tomcat現在還需要關閉和重新運行(但不是關機),但開發人員已經確保將在以後的版本中做到不需要關閉伺服器。
另外JavaBean是完全的OOP,可以針對不同的業務處理功能方便地建立一整套可重複利用的物件程式庫,例如使用者權限控制、email自動回複等等。
3、 JSP的適應平台更廣
ASP目前僅適用於NT和IIS。雖然Unix下有ChiliSoft的外掛程式來支援ASP,但是ASP本身的功能有限,必須通過ASP+COM的組合來擴充,Unix下的COM實現起來非常困難。
JSP則不同,幾乎所有平台都支援Java,JSP+JavaBean可以在所有平台下通行無阻。NT下IIS通過一個外掛程式,例如JRUN(http://www3.allaire.com/products/jrun/)或者ServletExec(http://www.newatlanta.com/),就能支援JSP。著名的Web伺服器Apache已經能夠支援JSP。由於Apache廣泛應用在NT、Unix和Linux上,因此JSP有更廣泛的運行平台。雖然現在NT作業系統佔了很大的市場份額,但是在伺服器方面Unix的優勢仍然很大,而新崛起的Linux更是來勢不小。
從一個平台移植到另外一個平台,JSP和JavaBean甚至不用重新編譯,因為Java位元組碼都是標準的與平台無關的。筆者將在NT下實驗的JSP網頁原封不動地拿到Linux下就運行起來了,感覺非常滿意。
九、 結論
綜上所述,JSP可謂是構建動態網站的一個利器,故推薦給讀者,祝願你們掌握JSP,開發出優秀的網站。ASP程式員也請試一下,JSP裡也有session、request、response/out等對象,親自試試看如何。
附文
這裡是關於JSP的重要參考資料,有興趣的讀者可以進一步閱讀。
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