欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
組裝Struts Spring和Hibernate框架
摘要

請用一段簡(jiǎn)單的話(huà)描述該詞條,馬上添加摘要。

框架層次結構層次分為四層:表現層、持久層、業(yè)務(wù)層、域對象層。每個(gè)框架分別負責一個(gè)層次的實(shí)現,表現層我們使用Struts業(yè)務(wù)層使用Spring持久層使用Hibrenate。每層在應用程序中都有明確的責任。每一應用層彼此獨立且保持一致。這些框架層次在以一種松散耦合的方式彼此作用而不用管低層的技術(shù)細節。

Struts+Spring+Hibernate框架體系結構圖

Struts是框架的表現層,Struts是對MVC構架的具體實(shí)現。它提供了一種便利的方式,可以用于將模塊化的應用程序清楚地分成邏輯、表示和數據。

組裝Struts Spring和Hibernate框架-2.1 Struts的MVC結構

    

StrutsMVC三層結構[3]:

視圖層:Struts采用JSP作為MVC的視圖。每一視圖都是采用了定制標簽庫的JSP頁(yè)面,這些定制標簽庫則由Struts框架提供。全部表單元素都是用定制標簽編碼的,所以這些頁(yè)面能夠很方便地同控制器交互。每一個(gè)表單都通過(guò)映射JSPServlet的請求這一方式指向控制器特定入口點(diǎn)。

控制層:控制器就是Java Servlet,由Struts框架提供,負責視圖和模型之間的交互??刂破鞯拿總€(gè)入口點(diǎn)都由名為struts-config.xml的配置文件設置。該文件把來(lái)自視圖的請求映射為特定的Java類(lèi)以進(jìn)行相應的處理,控制器還指定下一個(gè)視圖的位置。

模型層:JavaBean就是模型的代表。對進(jìn)入控制器的每個(gè)入口點(diǎn)來(lái)說(shuō),Bean的作用是存儲從視圖獲取的信息,同時(shí)被稱(chēng)為“動(dòng)作類(lèi)”,一種Java類(lèi)則被指定為對表單輸入采取行動(dòng)。動(dòng)作類(lèi)(Action Class)實(shí)現了業(yè)務(wù)邏輯。

Struts MVC結構圖

Struts是當今流行的JSP Web框架。 Struts框架是一種基于Java的技術(shù),Web應用程序開(kāi)發(fā)人員通過(guò)它可充分利用面向對象設計、代碼重用以及“編寫(xiě)一次、到處運行”的優(yōu)點(diǎn)。Struts提供了一種創(chuàng )建具有良好可管理性的Web應用框架,其中對應用程序的顯示、表示和數據的后端代碼進(jìn)行了抽象。

Struts的優(yōu)點(diǎn)主要集中體現在如下[4]:

(1) Struts 將業(yè)務(wù)數據、頁(yè)面顯示、動(dòng)作處理進(jìn)行分離,有利于各部分的維護。

(2) Taglib Struts 的標記庫,其靈活運用能大大提高開(kāi)發(fā)效率。

(3) StrutsValicator可以幫助完成驗證工作,避免重復編寫(xiě)驗證代碼工作,減少了開(kāi)發(fā)工作量,實(shí)現驗證代碼集中管理,其維護方便。

(4) 頁(yè)面轉發(fā)可以使系統的脈絡(luò )更加清晰,可以在很大程度上提高系統的維護性,將是今后的一個(gè)發(fā)展方向。

(5) 通過(guò)Struts 提供的ActionForm封裝web form中的元素,使重用web表單成為可能。

 (6) Struts 采用 Front Controller模式來(lái)實(shí)現動(dòng)作處理,讓所有的動(dòng)作請求都是經(jīng)過(guò)一個(gè)統一入口,然后進(jìn)行分發(fā)。該方式方便人們在入口中加入一些全局控制代碼的實(shí)現,如安全控制、日志管理等。

下面是Struts在框架結構中所負責的工作:

(1) 為用戶(hù)管理請求和響應;

(2) 提供一個(gè)控制器代理調用業(yè)務(wù)邏輯和其它上層處理;

(3) 處理從其它層擲出給一個(gè)Struts Action的異常;

(4) 為顯示提供一個(gè)模型;

(5) 執行用戶(hù)接口驗證。

Spring實(shí)現了反轉控制Inversion of Control)和面向方面編程(Achievement-Oriented Programming)。Spring框架的能實(shí)現應用的分層架構,分層架構允許您選擇使用哪一個(gè)組件。在應用中要使用的對象可以被一個(gè)簡(jiǎn)單的XML文件連在一起,這個(gè)XML文件含有到像事務(wù)管理器、對象工廠(chǎng)、包含業(yè)務(wù)邏輯的服務(wù)對象、和數據存取對象這些對象的引用。

組裝Struts Spring和Hibernate框架-3.1 Spring框架的體系結構

    

Spring是框架的業(yè)務(wù)層,這個(gè)框架是一個(gè)分層架構,由 7 個(gè)定義良好的模塊組成。如圖3.3所示Spring體系結構。

Spring 框架體系結構

Spring 框架是一個(gè)分層架構,由 7 個(gè)定義良好的模塊組成。Spring 模塊構建在核心容器之上,核心容器定義了創(chuàng )建、配置和管理 bean 的方式,其主要優(yōu)勢有如下幾點(diǎn):

(1) Spring能有效地組織你的中間層對象。

(2) Spring能消除在許多工程中常見(jiàn)的對Singleton的過(guò)多使用。

(3) 通過(guò)一種在不同應用程序和項目間一致的方法來(lái)處理配置文件,消除各種自定義格式的屬性文件的需要,僅僅需要看看類(lèi)的JavaBean屬性。反轉控制的使用幫助完成了這種簡(jiǎn)化。

(4) Spring能夠幫助我們真正意義上實(shí)現針對接口編程。

(5) Spring的設計會(huì )讓使用它創(chuàng )建的應用盡可能少的依賴(lài)于它的APIs,在Spring應用中的大多數業(yè)務(wù)對象沒(méi)有依賴(lài)于Spring。

(6) 使用Spring構建的應用程序易于單元測試。

(7) Spring使EJB成為一個(gè)實(shí)現選擇,而不是必需的選擇。你可以用POJO或當地EJB來(lái)實(shí)現業(yè)務(wù)接口,卻不會(huì )影響到調用代碼。

(8) Spring能使用AOP提供聲明性事務(wù)管理,可以不直接操作JTA也能夠對事務(wù)進(jìn)行管理。

(9) Spring為數據存取提供了一個(gè)一致的框架,不論是使用JDBC還是O/R mapping的產(chǎn)品。

(10) MVC Web框架,提供一種清晰,無(wú)侵略性MVC實(shí)現方式。

Spring業(yè)務(wù)層在框架中負責下面這些事情:

(1) 管理事務(wù);

(2) 預留和其它層交互的接口;

(3) 管理業(yè)務(wù)層對象之間的依賴(lài);

(4) 增加在表現層和持久層之間的靈活性,使它們互不直接通訊;

(5) 從表現層中提供一個(gè)上下文給業(yè)務(wù)層獲得業(yè)務(wù)服務(wù);

(6) 管理從業(yè)務(wù)邏輯到持久層的實(shí)現;

(7) 處理應用程序的業(yè)務(wù)邏輯和業(yè)務(wù)驗證;

Hibernate是一種ORM映射工具,它不僅提供了從Java類(lèi)到數據表之間的映射,也提供了數據查詢(xún)和恢復機制。相對于使用JDBCSQL來(lái)手工操作數據庫,使用Hibernate,可以大大減少操作數據庫的工作量。Hibernate可以和多種Web服務(wù)器或者應用服務(wù)器良好集成。

Hibernate框架的體系結構圖如圖所示。

Hibernate的體系結構圖

組裝Struts Spring和Hibernate框架-4.2 Hibernate框架的優(yōu)勢

    

Hibernate是一個(gè)開(kāi)放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來(lái)操縱數據庫。Hibernate可以應用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶(hù)端程序實(shí)用,也可以在Servlet/JSPWeb應用中使用,Hibernate還可以在應用EJBJ2EE架構中取代CMP,完成數據持久化的重任。

Hibernate框架的優(yōu)勢有下面幾點(diǎn):

(1) Hibernate具有可擴展性;

(2) Hibernate既適用于獨立的Java程序,也適用于Java Web應用,而且還可以在J2EE架構中取代CMP,完成持久化任務(wù),Hibernate能集成到會(huì )話(huà)EJB和基于BMP的實(shí)體EJB中;

(3) Hibernate可以和多種WEB服務(wù)器,應用服務(wù)器良好集成,并且支持所有的數據庫服務(wù)器;

(4) Hibernate有詳細的參考文檔,使用方便,容易上手。

下面是Hibernate持久層在框架中所負責的工作:

(1) 查詢(xún)相關(guān)的信息成為對象。

Hibernate通過(guò)HQL的面向對象的查詢(xún)語(yǔ)言或者使用條件表達式API來(lái)做這個(gè)事情。HQL非常類(lèi)似于SQL。只是把SQL里的tablecolumnsObject和它的fields代替;

(2) 保存、更新、刪除儲存在數據庫中的信息;

Hibernate這樣的高級“對象-關(guān)系”映射框架提供對大多數主流SQL數據庫的支持,它們支持“父/子”關(guān)系、事務(wù)處理、繼承和多態(tài)。

域對象層,也叫DAO訪(fǎng)問(wèn)層,它負責封裝底層的數據訪(fǎng)問(wèn)細節,不僅可能使概念清晰,而且可以提高開(kāi)發(fā)效率。

域對象層主要做兩件事:

(1) 編寫(xiě)相關(guān)接口: DAO類(lèi)一般要使用Spring的聲明式事務(wù)機制,而聲明式事務(wù)機制是使用Spring AOP來(lái)實(shí)現的。Spring AOP默認使用的Java動(dòng)態(tài)代理必須基于接口。本系統是面向接口編程;

(2)實(shí)現相關(guān)接口:在實(shí)現接口的同時(shí),需要繼承HibernateDaoSurpport類(lèi),這樣可以省去對SessionFactoryHibernateTemplate的處理。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
SSH框架總結(框架分析+環(huán)境搭建+實(shí)例源碼下載)
Java及數據庫面試題 包含SSH,數據庫和Java基礎
盤(pán)點(diǎn)Java初學(xué)者如何理解Java三大框架!
面試Java實(shí)習生時(shí)的一些面試題
java面試⑥框架部分
Java高級程序員面試題
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久