JavaEE 規範和 SSH 三大框架的關系
轉載自 : http://blog.csdn.net/bingjing12345/article/details/20641891
2014年發布的
1994-2000 年是互聯網的大航海時代。
請註意,下面的時間點及其重要。
1994年,網景公司(Netscape)發布了Navigator瀏覽器0.9版。這是歷史上第一個比較成熟的網絡瀏覽器,轟動一時。但是,這個版本的瀏覽器只能用來瀏覽,不具備與訪問者互動的能力。網景公司急需一種網頁腳本語言,使得瀏覽器可以與網頁互動。
1995年Sun公司將Oak語言改名為Java,正式向市場推出。Sun公司大肆宣傳,許諾這種語言可以"一次編寫,到處運行"(Write Once, Run Anywhere),它看上去很可能成為未來的主宰。
1995年5月,網景公司做出決策,未來的網頁腳本語言必須"看上去與Java足夠相似",但是比Java簡單,使得非專業的網頁作者也能很快上手,於是javaScript就誕生了。
1998年Sun公司在發表JDK1.2版本的時候,使用了新名稱Java 2 Platform,即“Java2平臺”,修改後的JDK稱為Java 2 Platform Software Develping Kit,即J2SDK。
並分為標準版(Standard Edition,J2SE), 企業版(Enterprise Edition,J2EE),微型版(MicroEdition,J2ME)。J2EE便由此誕生。
sun設計J2EE的初衷正是為了解決兩層模式(client/server)的弊端。
在傳統模式中,客戶端擔當了過多的角色而顯得臃腫,在這種模式中,第一次部署的時候比較容易,但難於升級或改進,可伸展性也不理想,而且經常基於某種專有的協議,通常是某種數據庫協議。它使得重用業務邏輯和界面邏輯非常困難。
J2EE將網站的開發分為四層:
客戶層組件
J2EE應用程序可以是基於web方式的(瀏覽器),也可以是基於傳統方式的.瀏覽器方面主要推動了html+css+js
web 層組件
J2EE web層組件可以是JSP 頁面或Servlets.
業務層組件
EJB做了業務邏輯的處理和數據庫相關的操作。
有三種企業級的bean: 會話(session) beans,實體(entity) beans,和消息驅動(message-driven)
beans. 會話bean 表示與客戶端程序的臨時交互.實體bean 表示數據庫的表中一行永久的記錄. 當客戶端程序中止或服務器關閉時,就會有潛在的服務保證實體bean 的數據得以保存.消息驅動 bean 結合了會話bean 和 JMS的消息監聽器的特性,允許一個業務層組件異步接收JMS 消息.
企業信息系統層
存儲信息。企業信息系統層處理企業信息系統軟件包括企業基礎建設系統例如企業資源計劃
(ERP),大型機事務處理,數據庫系統,和其它的遺留信息系統。
這套規範大大降低了網站的開發難度,從某些方面看它絕對是成功的。可網站的開發還是比較困難。J2EE這套規範應該是訂的太早了,因為當制定這套規範時互聯網正在迅猛發展,可以用一日千裏形容。
2000年發生互聯網泡沫,sun公司一蹶不振。同時遇難的還有一堆不知名的小互聯網公司。可能是那時候做網站的一堆人們日子比較清閑,畢竟很多公司都關門大吉了。有些人就發現,J2EE這套規範臃腫、低效、難用且脫離現實。於是他們下定決心,對其改造。
2000~2001年 Craig覺得web層可以使用MVC框架使該層開發更加容易,於是就有了Struts,這一步是對原來規範的很好實現,並沒有產生質的突破。
2001~2003年 Gavin 覺得EJB連接數據的部分有待改進,於是就有了Hibernate,Hibernate並沒有被規範束縛,而是想怎麽改就怎麽改。
2002年左右 html+css+js也開始漸漸分離
2002~2004年 Rod覺得類和類之間的依賴關系應該改善,於是就有了Spring,Spring是為了讓javaEE規範更加易用,因此對其進行了大刀闊斧的改造。在當時看絕對是取其精華,去其糟粕。
所以 Spring 取代了 EJB 嗎?
從1998年到2004年,sun公司不可能沒有發現J2EE存在的問題,可是從2000年以後sun就無能為力了,因為它的股票一落千丈,跌的就剩下零頭了。這才有了SSH這些框架誕生的時間和空間。
由此看來危機恰恰才是我們的轉機,在黑暗中看到希望,我們的成就才能超出我們的想象。
總結 :
意思就是說我們現在學習不用學習 J2EE 規範 ? 而是要去學習 Spring .
Spring 基於 J2EE , 但是不完全遵循J2EE .
Spring 是用什麽就配置什麽 , 輕量級 . 嗯 over
JavaEE 規範和 SSH 三大框架的關系