搜尋
首頁Javajava教程java三大框架介紹

java三大框架介紹

Feb 06, 2017 am 11:45 AM

常聽人提起三大框架,關於三大框架,做瞭如下了解:

 三大框架:Struts+Hibernate+Spring

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

 Struts主要負責表示層的顯示器


 Spring利用它的IOC和AOP來處理控制業務(負責對資料庫的操作)


到資料庫再用jsp的servlet做網頁開發的時候有個web.xml的映射文件,裡面有一個mapping的標籤就是用來做文件映射的。當你在瀏覽器上輸入URL得知的時候,文件就會根據你寫的名稱對應到一個JAVA文件,根據java文件裡寫的內容顯示在瀏覽器上,就是一個網頁。


一 .Struts框架:

struts是開源軟體。使用Struts的目的是為了幫助我們減少在運用MVC設計模型來開發Web應用的時間。如果我們想混合使用Servlets和JSP的優點來建立可擴展的應用,struts是一個不錯的選擇。


    1.流程:伺服器啟動後,根據web.xml載入ActionServlet讀取struts-config.xml檔案內容到記憶體。

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

Model部分:由JavaBean組成,ActionForm用於封裝使用者的請求參數,封裝成ActionForm對象,該物件被ActionServlet轉發給Action,Action根據ActionFrom裡面的請求參數處理使用者的請求。 JavaBean則封裝了底層的業務邏輯,包括資料庫存取等。


View部分:此部分採用JSP實作。 Struts提供了豐富的標籤庫,透過標籤庫可以減少腳本的使用,自訂的標籤庫可以實現與Model的有效交互,並增加了現實功能。對應上圖的JSP部分。


Controller元件:Controller元件有兩個部分組成-系統核心控制器,業務邏輯控制器。   系統核心控制器,對應上圖的ActionServlet。此控制器由Struts框架提供,繼承HttpServlet類,因此可以配置成標註的Servlet。此控制器負責攔截所有的HTTP請求,然後根據使用者請求決定是否要轉給業務邏輯控制器。業務邏輯控制器,負責處理使用者請求,本身不具備處理能力,而是呼叫Model來完成處理。對應Action部分。


 二. Spring框架

Spring是一個解決了許多在J2EE開發中常見的的問題的強大框架。 Springle提供了管理業務物件的一致方法並且鼓勵了注入對介面程式設計而不是對類別變成的好習慣。 Spring的架構基礎是基於使用JavaBean屬性的Inversion of Control 容器。然而Spring在使用IoC容器作為建構玩關注所有架構層層的完整解決方案方面是獨一無二的。 Spring提供了唯一的資料管理抽象包括簡單且有效率的JDBC框架,極大的改進了效率並且減少了可能的錯誤。 Spring的資料存取架構也整合了Hibernate和其他O/R mapping 解決方案。


三. Hibernate框架

Hibernate 是一個開源程式碼的物件關係映射框架,對JDBC驚醒了費城輕量級的的物件封裝,使得Java程式設計師可以隨心所欲的使用物件變成思維來操作資料庫。 Hebernate可以應用在任何使用JDBC的場合,既可以在java的客戶端程式使用,也可以在Servlet/JSP的Web應用中使用最具革命意義的事,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成資料持久化的重任


Hibernate的核心介面共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個核心介面在任何開發中都會用到。透過這些接口,不僅可以對持久化物件進行訪問,還能夠進行事務控制。以下對這五個核心介面分別加以介紹。

1. Session介面:負責執行被持久化物件的CRUD操作(CRUD的任務是完成與資料庫的交流,包含了許多常見的SQL語句。)。但要注意的是Session物件是非線程安全的。同時,Hibernate的session不同於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語句兩種表達方式。

以上就是java三大框架介紹的內容,更多相關內容請關注PHP中文網(www.php.cn)!


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何將Maven或Gradle用於高級Java項目管理,構建自動化和依賴性解決方案?如何將Maven或Gradle用於高級Java項目管理,構建自動化和依賴性解決方案?Mar 17, 2025 pm 05:46 PM

本文討論了使用Maven和Gradle進行Java項目管理,構建自動化和依賴性解決方案,以比較其方法和優化策略。

如何使用適當的版本控制和依賴項管理創建和使用自定義Java庫(JAR文件)?如何使用適當的版本控制和依賴項管理創建和使用自定義Java庫(JAR文件)?Mar 17, 2025 pm 05:45 PM

本文使用Maven和Gradle之類的工具討論了具有適當的版本控制和依賴關係管理的自定義Java庫(JAR文件)的創建和使用。

如何使用咖啡因或Guava Cache等庫在Java應用程序中實現多層緩存?如何使用咖啡因或Guava Cache等庫在Java應用程序中實現多層緩存?Mar 17, 2025 pm 05:44 PM

本文討論了使用咖啡因和Guava緩存在Java中實施多層緩存以提高應用程序性能。它涵蓋設置,集成和績效優勢,以及配置和驅逐政策管理最佳PRA

如何將JPA(Java持久性API)用於具有高級功能(例如緩存和懶惰加載)的對象相關映射?如何將JPA(Java持久性API)用於具有高級功能(例如緩存和懶惰加載)的對象相關映射?Mar 17, 2025 pm 05:43 PM

本文討論了使用JPA進行對象相關映射,並具有高級功能,例如緩存和懶惰加載。它涵蓋了設置,實體映射和優化性能的最佳實踐,同時突出潛在的陷阱。[159個字符]

Java的類負載機制如何起作用,包括不同的類載荷及其委託模型?Java的類負載機制如何起作用,包括不同的類載荷及其委託模型?Mar 17, 2025 pm 05:35 PM

Java的類上載涉及使用帶有引導,擴展程序和應用程序類負載器的分層系統加載,鏈接和初始化類。父代授權模型確保首先加載核心類別,從而影響自定義類LOA

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),