Java三大框架是什么,有什么作用

三大框架:Struts+Hibernate+Spring

Java三大框架主要用來做WEN應用。

Struts主要負責表示層的顯示

Spring利用它的IOC和AOP來處理控制業(yè)務(負責對數(shù)據(jù)庫的操作)

Hibernate主要是數(shù)據(jù)持久化到數(shù)據(jù)庫

再用jsp的servlet做網頁開發(fā)的時候有個 web.xml的映射文件,里面有一個mapping的標簽就是用來做文件映射的。當你在瀏覽器上輸入URL得知的時候透乾,文件就會根據(jù)你寫的名稱對應到一 個JAVA文件,根據(jù)java文件里編寫的內容顯示在瀏覽器上磕秤,就是一個網頁乳乌。

一 .Struts框架:struts是開源軟件。使用Struts的目的是為了幫助我們減少在運用MVC設計模型來開發(fā)Web應用的時間市咆。如果我們想混合使用Servlets和JSP的優(yōu)點來建立可擴展的應用汉操,struts是一個不錯的選擇。

1.流程:服務器啟動后蒙兰,根據(jù)web.xml加載ActionServlet讀取struts-config.xml文件內容到內存磷瘤。

2.架構:Struts對Model,View和Controller都提供了對應的組件搜变。ActionServlet采缚,這個類是Struts的核心控制器,負責攔截來自用戶的請求挠他。

Model部分:由JavaBean組 成扳抽,ActionForm用于封裝用戶的請求參數(shù),封裝成ActionForm對象,該對象被ActionServlet轉發(fā)給 Action贸呢,Action根據(jù)ActionFrom里面的請求參數(shù)處理用戶的請求镰烧。JavaBean則封裝了底層的業(yè)務邏輯,包括數(shù)據(jù)庫訪問等楞陷。

View部分:該部分采用JSP實現(xiàn)怔鳖。Struts提供了豐富的標簽庫,通過標簽庫可以減少腳本的使用固蛾,自定義的標簽庫可以實現(xiàn)與Model的有效交互结执,并增加了現(xiàn)實功能。對應上圖的JSP部分艾凯。

Controller組件:Controller組件有兩個部分組成——系統(tǒng)核心 控制器献幔,業(yè)務邏輯控制器。   系統(tǒng)核心控制器览芳,對應上圖的ActionServlet。該控制器由Struts框架提供鸿竖,繼承HttpServlet 類沧竟,因此可以配置成標注的Servlet。該控制器負責攔截所有的HTTP請求缚忧,然后根據(jù)用戶請求決定是否要轉給業(yè)務邏輯控制器悟泵。業(yè)務邏輯控制器,負責處 理用戶請求闪水,本身不具備處理能力糕非,而是調用Model來完成處理。對應Action部分球榆。

二.Spring框架

Spring是一個解決了許多在J2EE開發(fā)中常見的的問題的強大框架朽肥。 Springle提供了管理業(yè)務對象的一致方法并且鼓勵了注入對接口編程而不是對類變成的好習慣。Spring的架構基礎是基于使用JavaBean屬性 的Inversion of Control 容器持钉。然而Spring在使用IoC容器作為構建玩關注所有架構層層的完整解決方案方面是獨一無二的衡招。Spring提供了唯一的數(shù)據(jù)管理 抽象包括簡單和有效率的JDBC框架,極大的改進了效率并且減少了可能的錯誤每强。Spring的數(shù)據(jù)訪問架構還集成了Hibernate和其他O/R mapping 解決方案始腾。

三.Hibernate框架

Hibernate 是一個開源代碼的對象關系映射框架,對JDBC驚醒了費城輕量級的 的對象封裝空执,使得Java程序員可以隨心所欲的使用對象變成思維來操作數(shù)據(jù)庫浪箭。Hebernate可以應用在任何使用JDBC的場合,既可以在java的 客戶端程序使用辨绊,也可以在Servlet/JSP的Web應用中使用最具革命意義的事奶栖,Hibernate可以在應用EJB的J2EE架構中取代CMP, 完成數(shù)據(jù)持久化的重任

Hibernate的核心接口一共有5個,分別為:Session、 SessionFactory驼抹、Transaction桑孩、Query和Configuration。這5個核心接口在任何開發(fā)中都會用到框冀。通過這些接口流椒, 不僅可以對持久化對象進行存取,還能夠進行事務控制明也。下面對這五個核心接口分別加以介紹宣虾。

1.Session接口:負責執(zhí)行被持久化對象的CRUD操作(CRUD的任務是完成與 數(shù)據(jù)庫的交流,包含了很多常見的SQL語句温数。)绣硝。但需要注意的是Session對象是非線程安全的。同時撑刺,Hibernate的session不同于 JSP應用中的HttpSession鹉胖。這里當使用session這個術語時,其實指的是Hibernate中的session够傍,而以后會將 HttpSession對象稱為用戶session甫菠。

2.SessionFactory接口:負責初始化Hibernate。它充當數(shù)據(jù)存儲 源的代理冕屯,并負責創(chuàng)建Session對象寂诱。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級的安聘,因為一般情況下痰洒,一個項目通常 只需要一個SessionFactory就夠,當需要操作多個數(shù)據(jù)庫時浴韭,可以為每個數(shù)據(jù)庫指定一個SessionFactory丘喻。

3.Configuration接口:負責配置并啟動Hibernate,創(chuàng)建SessionFactory對象念颈。在Hibernate的啟動的過程中仓犬,Configuration類的實例首先定位映射文檔位置、讀取配置舍肠,然后創(chuàng)建SessionFactory對象搀继。

4.Transaction接口:負責事務相關的操作。它是可選的翠语,開發(fā)人員也可以設計編寫自己的底層事務處理代碼叽躯。

5.Query和Criteria接口:負責執(zhí)行各種數(shù)據(jù)庫查詢。它可以使用HQL語言或SQL語句兩種表達方式肌括。

學習Java的同學注意了5闫铩:选!
學習過程中遇到什么問題或者想獲取學習資源的話黑滴,歡迎加入Java學習交流群346942462憨募,我們一起學Java!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末袁辈,一起剝皮案震驚了整個濱河市菜谣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌晚缩,老刑警劉巖尾膊,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異荞彼,居然都是意外死亡冈敛,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門鸣皂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抓谴,“玉大人,你說我怎么就攤上這事寞缝“┭梗” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵第租,是天一觀的道長措拇。 經常有香客問我我纪,道長慎宾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任浅悉,我火速辦了婚禮趟据,結果婚禮上,老公的妹妹穿的比我還像新娘术健。我一直安慰自己汹碱,他們只是感情好,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布湘纵。 她就那樣靜靜地躺著拌夏,像睡著了一般绑青。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上跪腹,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天,我揣著相機與錄音飞醉,去河邊找鬼冲茸。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的轴术。 我是一名探鬼主播难衰,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼逗栽!你這毒婦竟也來了盖袭?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤祭陷,失蹤者是張志新(化名)和其女友劉穎苍凛,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體兵志,經...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡醇蝴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了想罕。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片悠栓。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖按价,靈堂內的尸體忽然破棺而出惭适,到底是詐尸還是另有隱情,我是刑警寧澤楼镐,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布癞志,位于F島的核電站,受9級特大地震影響框产,放射性物質發(fā)生泄漏凄杯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一秉宿、第九天 我趴在偏房一處隱蔽的房頂上張望戒突。 院中可真熱鬧,春花似錦描睦、人聲如沸膊存。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽隔崎。三九已至,卻和暖如春韵丑,著一層夾襖步出監(jiān)牢的瞬間爵卒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工埂息, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留技潘,地道東北人遥巴。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像享幽,于是被迫代替她去往敵國和親铲掐。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法值桩,類相關的語法摆霉,內部類的語法,繼承相關的語法奔坟,異常的語法携栋,線程的語...
    子非魚_t_閱讀 31,631評論 18 399
  • (一)Struts、Spring炕舵、Hibernate何之、Mybatis框技術 1.Struts2.0有幾種標簽庫 【...
    獨云閱讀 3,240評論 0 62
  • spring mvc 工作機制(原理): DispatcherServlet主要用作職責調度工作,本身主要用于控制...
    java大濕兄閱讀 1,896評論 5 24
  • 一. Java基礎部分.................................................
    wy_sure閱讀 3,811評論 0 11
  • 收獲到了什么咽筋? 定時器的使用方法 setInterval(函數(shù)溶推,時間) 使用之前可以把定時器封裝在一個變量里面 v...
    毛毛i閱讀 82評論 0 0