Java SSH架構學習(入門)

來源:互聯網
上載者:User

標籤:

SSH就是 struts+spring+hibernate 的一個整合架構,是java中一種流行的JAVA WEB 應用程式開源架構。因為我最熟悉的還是ASP.NET的的MVC和Python的Django架構,今天有必要學習下java 的流行架構SSH,其實作為WEB應用的整體架構,我發現其中有很多類似的地方,比如這裡的Struts就是Django中的Views層+模板層的一個前台資料填充模組,而spring 就是串連Struts和Hibernate 的中間商務邏輯層,但是這在Django中已經被劃分到views中去了,最後的Hibernate 就是典型的資料庫映射層嘛,這一點和Django的models 層有相似之處,就是沒有Django的簡化,下面是看了篇部落格然後總結的:

Struts

這是的java 基於Sun J2EE 平台的MVC架構,主要是採用 Servlet 和 JSP 技術來實現的。

官方地址:http://struts.apache.org

 

Spring 

解決許多J2EE開發中常見的問題的架構,Spring提供了管理業務對象的一致性方法並且鼓勵面向介面編程而不是對類編程,Spring架構的基礎是基於JavaBean屬性的Inersion of Control容器,String提供了唯一的資料訪問抽象,包括簡單和有效JDBC架構,String 結合Hibernate和其他的O/R mapping 解決方案等。

官方地址:spring: http://www.springsource.org

 

Hibernate

他是一個開源的對象關係映射架構,它對JDBC進行了非常輕量級的對象封裝,使得Java 程式員可以隨心所欲的使用對象編程思維來操控資料庫,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成資料持久化的重任。

官方地址:http://www.hibernate.org

 

在SSH的組合模式中,三者各自的作用

Struts 是一個很好的MVC架構,主要技術是Servlet 和Jsp.Struts的MVC設計模式可以使我們的邏輯變得很清晰,讓程式變得層次分明(類似於Django中的Views層)。

Spring提供了管理業務對象的一致化方法,並且鼓勵對介面編程而不是對類編程,這樣在很大程度上松解了耦合(已經被融入到Views層中了)。

Hibernate 是用來持久化資料的,提供全面的物件導向的資料庫操作,Hibernate 對JDBC進行了非常輕量級的封裝,這樣和資料庫打交道就容易多了(類似於Django 中的models層)。

其中很多沒說的,直接看看SSH架構圖吧:

Struts負責的是web層:

ActionFormBean接收網頁中表單提交的資料,然後通過Action進行處理,再Forward到對應的網頁中,在Struts-config.xml中定義<action-mapping>,這樣ActionServlet會載入進來。

Spring負責的是商務邏輯層,即Service:

Service為Action提供統一的調用介面,封裝持久層的DAO,並且整合了Hibernate ,Spring可對JavaBean(對象)和事物進行統一的管理。

Hibernate負責持久層,完成資料庫的CRUD操作:

Hibernate有一組hbm.xml和PO,是資料庫中的對應的表相對應的,然後定義DAO,這些是與資料庫打交道的類。(直接就是複雜化的Models層)

下面是SSH中的對象調用流程圖:

主要的資料流路徑是:Struts->Spring->Hibernate(JSP->Action->Service->DAO->Hibernate)

 

轉載地址:http://blog.csdn.net/l_f0rm4t3d/article/details/23956247

Java SSH架構學習(入門)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.