JSP是Java Server Page,是一種動態網頁技術標准。J2EE是Java 2 Enterprise Eidtion,它們是Sun公司建立在Java語言上的一種服務器端的編程技術,簡單來說,它是用來動態生成網頁的一種技術,現在的主要對手是微軟主推的ASP.Net。
JSP和J2EE的關系簡述
JSP應該是屬於J2EE的一部分,JSP只是用來動態生成web頁面的,JSp文件的後綴是.JSP,和PHP等技術一樣,人們習慣以文件後綴命名這項技術,其實決大部分(可以說是全部)的數據庫操作和很大一部分的復雜商業邏輯都是在JavaBean(典型的J2EE使用EJB)或其他的Java類中實現的,所以在網上基於J2EE的,網站的網頁後綴都是.JSP。
如果說把顯示一個網頁比喻成用筆在紙上寫字給人看的話,理想的J2EE網站應該是中各部分的功能應該是:JSP就是筆的外套(它只是輔助筆芯,寫出字來),JavaBean和EJB等就是筆芯(它們是網站的核心,用戶是看不到它們的,"筆芯"決定了寫出來的字是什麼顏色的,好看不好看,書寫起來是否流利,也就是說它們決定了整個網站的功能,是否穩定,是否高效,是否安全等),網絡和服務器軟件就是紙,"紙"好看著就舒服,也就是網頁顯示的快)。
當然這個比喻不是很恰當,J2EE的各個部分是緊密聯系在一起的,單純的JSP也可以不借助JavaBean或EJB來連接數據庫以及處理商業邏輯,只是那樣效率很低而且不能發揮Java的可重用的優點。其實大家都知道,一個Java程序要運行,就必須被編譯生成.class文件,從這一點上說,JSP,Servlet,JavaBean,EJB(它很特殊,需要J2EE服務器的特殊支持)他們又有統一的一面。
JSP和J2EE的技術范圍
其實J2EE技術的范圍是一個很大的,EJB是J2EE最核心的技術。EJB的優勢是它通過J2EE服務器的支持(所有的J2EE服務器都必須支持EJB的特性,最有名的是BEA公司的WebLogic和IBM公司的WebSphere),以最簡單的方式實現了事務,分布式部署等復雜處理,而且實體Bean,消息Bean,會話Bean(名字可能記錯了,呵呵)三各種EJB各有"神通"。
可以這麼說,EJB之所以能以簡單的代碼實現高級的復雜的功能,是因為它站在了J2EE服務器的肩膀上。好的EJB完全可以作為商業軟件出售。
基本上,JSP用於讓www服務器產生出內容可以變化的網頁文檔和對用戶提交的表單數據進行處理,例如,顯示留言內容,留言內容總是在增加的,所以,傳遞給用戶浏覽器的網頁文件內容是需要改變的,這就是JSP來實現的。將用戶留言插入到數據庫中,也是JSP來實現的。
J2EE用於開發大型的商業系統,例如,你在各個銀行之間的取款,存款,銀行之間要互通有無,執行存取款的記錄操作,還要進行安全性檢查,不能誰都可以來查帳,還要考慮網絡斷線等問題。
小結:
Java的運行速度是用class常駐內存來完成的,所以它在一些情況下所使用的內存比起用戶數量來說確實是“最低性能價格比”了。從另一方面,它還需要硬盤空間來儲存一系列的.Java文件和.class文件,以及對應的版本文件。