詳談Struts+Hibernate+Spring三大框架

前言:對於JAVA WEB端的程序員來講,對JAVA三大框架:Struts+Hibernate+Spring的瞭解必不可缺,下面詳細談談 Java三大框架主要用來作WEN應用。java

三大框架:Struts+Hibernate+Spring程序員

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

 Struts主要負責表示層的顯示數據庫

 Spring利用它的IOCAOP來處理控制業務(負責對數據庫的操做)編程

 Hibernate主要是數據持久化到數據庫安全

    一 .Struts框架:struts是開源軟件。服務器

使用Struts的目的是爲了幫助咱們減小在運用MVC設計模型來開發Web應用的時間。若是咱們想混合使用ServletsJSP的優勢來創建可擴展的應用,struts是一個不錯的選擇。session

    1.流程:服務器啓動後,根據web.xml加載ActionServlet讀取struts-config.xml文件內容到內存。架構

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

        Model部分:由JavaBean組成,ActionForm用於封裝用戶的請求參數,封裝成ActionForm對象,該對象被ActionServlet轉發給Action,Action根據ActionFrom裏面的請求參數處理用戶的請求。JavaBean則封裝了底層的業務邏輯,包括數據庫訪問等。

View部分:該部分採用JSP實現。Struts提供了豐富的標籤庫,經過標籤庫能夠減小腳本的使用,自定義的標籤庫能夠實現與Model的有效交互,並增長了現實功能。對應上圖的JSP部分。

   Controller組件:Controller組件有兩個部分組成——系統核心控制器,業務邏輯控制器。  

(1) 系統核心控制器,對應上圖的ActionServlet。該控制器由Struts框架提供,繼承HttpServlet類,所以能夠配置成標註的Servlet。該控制器負責攔截全部的HTTP請求,而後根據用戶請求決定是否要轉給業務邏輯控制器。

(2)業務邏輯控制器,負責處理用戶請求,自己不具有處理能力,而是調用Model來完成處理。對應Action部分。

 二.Spring框架

Spring是一個解決了許多在J2EE開發中常見的的問題的強大框架。Spring提供了管理業務對象的一致方法而且鼓勵了注入對接口編程而不是對類變成的好習慣。Spring的架構基礎是基於使用JavaBean屬性的Inversion of Control 容器。然而Spring在使用IoC容器做爲構建玩關注全部架構層層的完整解決方案方面是獨一無二的。Spring提供了惟一的數據管理抽象包括簡單和有效率的JDBC框架,極大的改進了效率而且減小了可能的錯誤。Spring的數據訪問架構還集成了Hibernate和其餘O/R mapping 解決方案。

三.Hibernate框架

Hibernate 是一個開源代碼的對象關係映射框架,對JDBC驚醒了費城輕量級的的對象封裝,使得Java程序員能夠爲所欲爲的使用對象變成思惟來操做數據庫。Hebernate能夠應用在任何使用JDBC的場合,既能夠在java的客戶端程序使用,也能夠在Servlet/JSPWeb應用中使用最具革命意義的事,Hibernate能夠在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任

Hibernate的核心接口一共有5個,分別爲:Session、SessionFactory、Transaction、QueryConfiguration。這5個核心接口在任何開發中都會用到。經過這些接口,不只能夠對持久化對象進行存取,還可以進行事務控制。

下面對這五個核心接口分別加以介紹:

1.Session接口:負責執行被持久化對象的CRUD操做(CRUD的任務是完成與數據庫的交流,包含了不少常見的SQL語句。)。但須要注意的是Session對象是非線程安全的。同時,Hibernatesession不一樣於JSP應用中的HttpSession。這裏當使用session這個術語時,其實指的是Hibernate中的session,而之後會將HttpSession對象稱爲用戶session。

2.SessionFactory接口:負責初始化Hibernate。它充當數據存儲源的代理,並負責建立Session對象。這裏用到了工廠模式。須要注意的是SessionFactory並非輕量級的,由於通常狀況下,一個項目一般只須要一個SessionFactory就夠,當須要操做多個數據庫時,能夠爲每一個數據庫指定一個SessionFactory

3.Configuration接口:負責配置並啓動Hibernate,建立SessionFactory對象。在Hibernate的啓動的過程當中,Configuration類的實例首先定位映射文檔位置、讀取配置,而後建立SessionFactory對象。

4.Transaction接口:負責事務相關的操做。它是可選的,開發人員也能夠設計編寫本身的底層事務處理代碼。

5.Query和Criteria接口:負責執行各類數據庫查詢。它可使用HQL語言或SQL語句兩種表達方式。

有位高手的形象比喻: Strutsweb開發框剪(負責表單提交)(至關於電腦顯卡) Hibernate負責對數據庫的操做(至關於電腦CPU) Spring至關於一個主板(將顯卡和CPU組裝在一塊兒)

 

在學習的道路上應該一往無前,不要懼怕丟臉。不懂就是不懂,認可了又會怎麼樣呢?? 認可了就開始學唄~~~忘了就複習,這樣才能成爲真正的高手。

相關文章
相關標籤/搜索