【SSH進階之路】Struts + Spring + Hibernate 進階開端(一)

目錄(?)[-]web

  1. 什麼是SSH
  2. Struts
  3. Hibernate
  4. Spring
  5. 總結

      Long Long ago,就據說過SSH,起初還覺得是一個東東,具體內容更是不詳,總以爲高端大氣上檔次,通過學習以後才發現,不只僅是高大上,更是低調奢華有內涵,通過一段時間的研究和學習SSH框架的基本原理與思想,總算接地氣了。做爲初學者,有點小小收穫,想經過以博文的形式和你們一塊兒分享,共同進步,在更新博文的過程當中不免有認識不足的地方,還請各位大牛提出寶貴的建議,對於好的建議必定虛心接受,認真學習。spring

 

      這篇博文僅僅是SSH的開端簡介,簡單介紹一下SSH以及三種框架的總體概覽,後面的博文會對各部分的內容一一進行詳細的介紹,此係列博文會持續更新,也請你們關注個人博文。下面咱們進入今天的正題:數據庫

 

什麼是SSH

 

官方的說法:SSH是 struts+spring+hibernate的一個集成框架,是目前較流行的一種web應用程序開源框架。設計模式

 

我的的看法:SSH不是一個框架,而是把多個框架(Struts、Spring以及Hibernate)緊密的結合在一塊兒,用於構建靈活、易於擴展的多層Web應用程序。架構

 

SSH框架的系統從職責上分爲四層:表示層、業務邏輯層、數據持久層和域模塊層(實體層)。框架

 

咱們經過下面這張圖說明一下,三種框架的關係以及所包含的內容,內容已經很詳細了,在這裏就不作過多的解釋了。學習

 

                  

 

下面咱們再詳細看一下組成SSH的這三個框架。編碼

 

Struts

 

一、什麼是Struts?spa

 

      從簡單性來看,Struts是這三個框架中最簡單的一個,它是基於MVC的框架。它經過採用JavaServlet/JSP技術,實現了基於Java EEWeb應用的MVC設計模式的應用框架,是MVC的一個具體實現或着說是MVC的一個具體產品。.net

 

二、Struts的核心構成

         

 

      Struts的核心一樣也是MVC的核心,Struts是MVC的一個具體產品。

 

(1)Model

 

       由Action、ActionForm以及JavaBean組成,其中ActionForm用於將用戶請求的參數,封裝成爲ActionForm對象,咱們能夠理解爲實體,由ActionServlet轉發給Action,Action處理用戶請求,將處理結果返回到界面。

 

(2)View

 

       該部分採用JSP+大量的taglib,實現頁面的渲染。

 

(3)Controller

 

       Controller是Struts的核心控制器,負責攔截用戶請求,經過調用Model來實現處理用戶請求的功能。

 

三、爲何使用Struts?

 

      使用Struts做爲系統的總體基礎架構,負責MVC的分離,將頁面從業務邏輯分離出來,使用頁面更加靈活多變,不會影響業務邏輯,簡化了基於MVC的web應用程序的開發,於是使得開發更加高效。

 

Hibernate

 

一、什麼是Hibernate?

 

      Hibernate是一個對象關係映射框架,它對JDBC進行了輕量級的封裝,使得咱們使用面向對象的思想操做關係型數據庫。

 

二、Hibernate的核心構成

              

              

         

      這部份內容咱們不作過多的解釋,上面導圖中的解釋已經很簡單明瞭了,若是仍是不懂的話,能夠上網查閱相關資料。

 

三、爲何使用Hibernate?

 

(1)Hibernate是JDBC的輕量級的對象封裝,它使得與關係型數據庫打交道變得更加輕鬆自如。

(2)對象化,它使得咱們能夠以面向對象的思想操做關係型數據庫,簡化了Dao層編碼工做,使得開發更加對象化了。

(3)移植性更好,支持各類數據庫,更換數據庫異常簡單,不須要改代碼。

(4)實現了透明持久化,沒有實現第三方框架或接口,沒有侵入性,是一種輕量級框架。

 

Spring

 

一、什麼是Spring?

 

      簡單來講,Spring是一個輕量級的控制反轉(IoC)和麪向切面(AOP)的容器框架。

 

二、Spring的核心構成

 

              

 

(1)IoC

 

       IoC就是IoC,不是什麼技術,是一種設計模式。經過依賴注入的方式,由spring管理和控制對象之間的依賴關係,避免硬編碼所形成的過分程序耦合。

 

(2)AoP

 

       經過預編譯方式和運行期動態代理實現程序功能的統一維護的一種技術。

 

(3)容器

 

       能管理對象的生命週期、對象與對象之間的依賴關係就是容器。

 

三、爲何使用Spring?

 

      沒有Spring,Struts和Hibernate能夠很好的運行,我稱這樣的模式爲「獨木橋」,可是有了Spring,Struts和Hibernate可以更好的結合在一塊兒,協調的工做。我稱這樣的模式爲「陽光大道」。Spring的核心思想是IoC和AOP,Spring使得管理對象更加方便,極大的下降組件之間的耦合度,實現了軟件各層之間的解耦。Spring的優勢還有不少,咱們就再也不累述了。

 

總結

 

      SSH不只實現了視圖、控制器與模型的完全分離,並且還實現了業務邏輯層與持久層的分離,耦合度下降,系統的靈活性更好,可複用性高。同時,框架爲咱們提供了一些基礎性的服務,使咱們的開發更加簡單,大大提升開發效率。

 

下篇博客,咱們介紹Struts的基本原理+簡單的登陸實例(附源碼)

相關文章
相關標籤/搜索