更新時間:2020-05-21 14:05:52 來源:動力節(jié)點 瀏覽2616次
官方的說法:SSH是struts+spring+hibernate的一個集成框架,是目前較流行的一種web應(yīng)用程序開源框架。
SSH不是一個框架,而是把多個框架(Struts、Spring以及Hibernate)緊密的結(jié)合在一起,用于構(gòu)建靈活、易于擴展的多層Web應(yīng)用程序。
JavaEE架構(gòu)大致分為以下幾個層次:
其中SSH框架的系統(tǒng)從職能上分大致可以分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層(實體層)。
由SSH構(gòu)建系統(tǒng)的基本業(yè)務(wù)流程是:
1、在表示層中,首先通過JSP頁面實現(xiàn)交互界面,負責(zé)傳送請求(Request)和接收響應(yīng)(Response),然后Struts根據(jù)配置文件(struts-config.xml)將ActionServlet接收到的Request委派給相應(yīng)的Action處理。
2、在業(yè)務(wù)層中,管理服務(wù)組件的SpringIoC容器負責(zé)向Action提供業(yè)務(wù)模型(Model)組件和該組件的協(xié)作對象數(shù)據(jù)處理(DAO)組件完成業(yè)務(wù)邏輯,并提供事務(wù)處理、緩沖池等容器組件以提升系統(tǒng)性能和保證數(shù)據(jù)的完整性。
3、在持久層中,則依賴于Hibernate的對象化映射和數(shù)據(jù)庫交互,處理DAO組件請求的數(shù)據(jù),并返回處理結(jié)果。
采用上述開發(fā)模型,不僅實現(xiàn)了視圖、控制器與模型的徹底分離,而且還實現(xiàn)了業(yè)務(wù)邏輯層與持久層的分離。這樣無論前端如何變化,模型層只需很少的改動,并且數(shù)據(jù)庫的變化也不會對前端有所影響,大大提高了系統(tǒng)的可復(fù)用性。而且由于不同層之間耦合度小,有利于團隊成員并行工作,大大提高了開發(fā)效率。
淺談Struts
從簡單性來看,Struts框架是這三個框架中最簡單的一個,它是基于MVC的框架。它通過采用JavaServlet/JSP技術(shù),實現(xiàn)了基于JavaEEWeb應(yīng)用的MVC設(shè)計模式的應(yīng)用框架,是MVC的一個具體實現(xiàn)或著說是MVC的一個具體產(chǎn)品。
Struts的核心構(gòu)成
Struts的核心同樣也是MVC的核心,Struts是MVC的一個具體產(chǎn)品。
1)Model
由Action、ActionForm以及JavaBean組成,其中ActionForm用于將用戶請求的參數(shù),封裝成為ActionForm對象,我們可以理解為實體,由ActionServlet轉(zhuǎn)發(fā)給Action,Action處理用戶請求,將處理結(jié)果返回到界面。
2)View
該部分采用JSP+大量的taglib,實現(xiàn)頁面的渲染。
3)Controller
Controller是Struts的核心控制器,負責(zé)攔截用戶請求,通過調(diào)用Model來實現(xiàn)處理用戶請求的功能。
為什么使用Struts
首先,Struts是MVC的一種實現(xiàn),它將Servlet和JSP標記(屬于J2EE規(guī)范)用作實現(xiàn)的一部分。Struts繼承了MVC的各項特性,并根據(jù)J2EE的特點,做了相應(yīng)的變化與擴展,減弱了業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的耦合,以及讓視圖層更富于變化
另外,struts具有頁面導(dǎo)航功能,使系統(tǒng)的脈絡(luò)更加清晰。通過一個配置文件,即可把握整個系統(tǒng)各部分之間的聯(lián)系,這對于后期的維護有著莫大的好處。尤其是當(dāng)另一批開發(fā)者接手這個項目時,這種優(yōu)勢體現(xiàn)得更加明顯。
淺談Hibernate
Hibernate框架是一種Java語言下的ORM(Object-RelationMapping)的解決方案的一種框架,實現(xiàn)了數(shù)據(jù)持久化功能。Hibernate能將對象模型所表示的JOPO實體映射到基于SQL的關(guān)系模型結(jié)構(gòu)中,對JDBC進行了最大限度地對象封裝,使得程序員可以通過面向?qū)ο蟮鼐幊趟季S來操作數(shù)據(jù)庫。
其實在Struts2里面也是用到了很多映射的思想,比如:execute()方法,這個以后再例子中大家能很好地體會到,這里就不詳談。
Hibernate的核心構(gòu)成
Spring是J2EE應(yīng)用程序框架,是輕量級的IoC(InversionofControl,控制反轉(zhuǎn))和AOP(AspecttedProgramming,面向切面)的容器框架,主要是針對javaBean的生命周期進行管理的輕量級容器,可以單獨使用,也可以和Struts框架,Hibernate框架等組合使用。
Spring框架是一個分層架構(gòu),由7個定義良好的模塊組成。Spring模塊構(gòu)建在核心容器之上,核心容器定義了創(chuàng)建、配置和管理bean的方式。
IoC(InversionofControl)控制反轉(zhuǎn)
對象創(chuàng)建責(zé)任的反轉(zhuǎn),在spring中BeanFacotory是IoC容器的核心接口,負責(zé)實例化,定位,配置應(yīng)用程序中的對象及建立這些對象間的依賴。
XmlBeanFacotory實現(xiàn)BeanFactory接口,通過獲取xml配置文件數(shù)據(jù),組成應(yīng)用對象及對象間的依賴關(guān)系。
spring中有三種注入方式,一種是set注入,一種是接口注入,另一種是構(gòu)造方法注入。
AOP面向切面編程
面向方面的編程,即AOP,是一種編程技術(shù),它允許程序員對橫切關(guān)注點或橫切典型的職責(zé)分界線的行為(例如日志和事務(wù)管理)進行模塊化。AOP
的核心構(gòu)造是方面,它將那些影響多個類的行為封裝到可重用的模塊中。
為什么使用Spring
沒有Spring,Struts和Hibernate可以很好的運行,我稱這樣的模式為“獨木橋”,但是有了Spring,Struts和Hibernate能夠更好的結(jié)合在一起,協(xié)調(diào)的工作。我稱這樣的模式為“陽光大道”。Spring的核心思想是IoC和AOP,Spring使得管理對象更加方便,極大的降低組件之間的耦合度,實現(xiàn)了軟件各層之間的解耦。Spring的優(yōu)點還有很多,我們就不再累述了。
以上就是動力節(jié)點java培訓(xùn)機構(gòu)的小編針對“Java入門學(xué)習(xí),ssh框架學(xué)習(xí)視頻”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743