大家好,關于ssh框架原理及流程很多朋友都還不太明白,今天小編就來為大家分享關于SSH框架的知識,希望對各位有所幫助!
ssh中,三大框架的各自的作用及好處
SSH三者各自的作用及好處:StrutsStruts是一個很好的MVC框架,主要技術是Servlet和Jsp。Struts的MVC設計式可以使我們的邏輯變得很清晰,讓我們寫的程序層次分明。
Springspring提供了管理業務對象的一致方法,并鼓勵注入對接口編程而不是對類編程的良好習慣,使我們的產品在最大程度上解耦。
HibernateHibernate是用來持久化數據的,提供了完全面向對象的數據庫操作。
Hibernate對JDBC進行了非常輕量級的封裝,它使得與關系型數據庫打交道變得非常輕松。以下是SSH架構圖:
ssh模型是啥
SSH模型為struts+spring+hibernate的一個集成框架,是目前較流行的一種Web應用程序開源框架。
集成SSH框架的系統從職責上分為四層:表示層、業務邏輯層、數據持久層和域模塊層,以幫助開發人員在短期內搭建結構清晰、可復用性好、維護方便的Web應用程序。
其中使用Struts作為系統的整體基礎架構,負責MVC的分離,
在Struts框架的模型部分,控制業務跳轉,利用Hibernate框架對持久層提供支持,Spring做管理,管理struts和hibernare
bs架構和ssh框架可以同時使用嗎
BS架構(Browser/ServerArchitecture)和SSH框架(Struts+Spring+Hibernate)是兩個不同的概念,其中BS架構是一種基于瀏覽器和服務器之間的交互模式,而SSH框架是一種基于Java技術棧的開發框架。這兩者并沒有沖突,因此可以同時使用。
具體來說,在使用SSH框架進行Web應用程序開發時,可以采用BS架構作為前端展示層的交互模式,通過瀏覽器向服務器發送請求,并通過服務器響應返回數據給客戶端瀏覽器渲染頁面。
在這個過程中,SSH框架負責處理服務器端的業務邏輯,包括接收和處理客戶端請求、訪問數據庫、調用服務等操作;而BS架構則負責展示層的交互邏輯,包括將用戶操作轉化為HTTP請求、解析服務器響應、渲染頁面等操作。
因此,綜合使用BS架構和SSH框架可以提高Web應用程序的開發效率和用戶體驗,使得開發人員能夠更加專注于業務邏輯的實現,同時也能夠為用戶提供更好的交互體驗。
簡述ssh框架每層的作用及框架的優缺點
我認為ssh中的struts2層主要是負責控制器這塊。用來接收參數進行調用業務層從而更新顯示數據到頁面的作用。
spring是個容器。也是ssh的總控制器。它囊括了struts2.spring.hibernate。并且對其進行明確的分工。以及注入值??s減了大量代碼。且易維護等。
hibernate是用來很快速方便的進行業務開發。采用面向對象的方式自動生成sql語句。缺點就是配置太麻煩。容易出錯。
優點是能夠很好的實現業務層,web層,控制層等的分離。易于維護和擴展。
ssh框架域模塊層的功能
ssh框架與模塊墻的功能主要是用來控制操作數據庫,并分析相關數據。
struts控制用的
hibernate操作數據庫的
spring用解耦的
詳細的說:
struts在SSH框架中起控制的作用,其核心是Controller,即ActionServlet,而ActionServlet的核心就是Struts-config.xml.主要控制邏輯關系的處理。
hibernate是數據持久化層,是一種新的對象、關系的映射工具,提供了從Java類到數據表的映射,也提供了數據查詢和恢復等機制,大大減少數據訪問的復雜度。把對數據庫的直接操作,轉換為對持久對象的操作。
spring是一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器框架,面向接口的編程,由容器控制程序之間的(依賴)關系,而非傳統實現中,由程序代碼直接操控。這也就是所謂“控制反轉”的概念所在:(依賴)控制權由應用代碼中轉到了外部容器,控制權的轉移,是所謂反轉。依賴注入,即組件之間的依賴關系由容器在運行期決定,形象的來說,即由容器動態的將某種依賴關系注入到組件之中起到的主要作用是解耦。
Struts、Spring、Hibernate在各層的作用
1)struts負責web層
ActionFormBean接收網頁中表單提交的數據,然后通過Action進行處理,再Forward到對應的網頁。
在struts-config.xml中定義<action-mapping>,ActionServlet會加載。
2)spring負責業務層管理,即Service(或Manager).
a.service為action提供統計的調用接口,封裝持久層的DAO.
b.可以寫一些自己的業務方法。
c.統一的javabean管理方法
e.聲明式事務管理
f.集成Hiberante
3)Hiberante,負責持久化層,完成數據庫的crud操作
hibernate為持久層,提供OR/Mapping。
它有一組.hbm.xml文件和POJO,是跟數據庫中的表相對應的。然后定義DAO,這些是跟數據庫打交道的類,它們會使用PO。
在struts+spring+hibernate的系統中,對象的調用流程是:jsp->Action->Service->DAO->Hibernate。
數據的流向是ActionFormBean接受用戶的數據,Action將數據從ActionFromBean中取出,封裝成VO或PO,再調用業務層的Bean類,完成各種業務處理后再forward。而業務層Bean收到這個PO對象之后,會調用DAO接口方法,進行持久化操作。
如果你還想了解更多這方面的信息,記得收藏關注本站。