欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SSH 框架簡介

 更新時(shí)間:2017年09月11日 14:56:21   作者:動(dòng)力節(jié)點(diǎn)  
SSH是 struts+spring+hibernate的一個(gè)集成框架,是目前較流行的一種web應(yīng)用程序開源框架。本文給大家詳細(xì)看一下組成SSH的這三個(gè)框架

什么是SSH

SSH是 struts+spring+hibernate的一個(gè)集成框架,是目前較流行的一種web應(yīng)用程序開源框架。SSH不是一個(gè)框架,而是把多個(gè)框架(Struts、Spring以及Hibernate)緊密的結(jié)合在一起,用于構(gòu)建靈活、易于擴(kuò)展的多層Web應(yīng)用程序。

SSH框架的系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層(實(shí)體層)。

我們通過下面這張圖說明一下,三種框架的關(guān)系以及所包含的內(nèi)容,內(nèi)容已經(jīng)很詳細(xì)了,在這里就不做過多的解釋了。     

    

下面我們再詳細(xì)看一下組成SSH的這三個(gè)框架。

Struts

1、什么是Struts? 

      從簡單性來看,Struts是這三個(gè)框架中最簡單的一個(gè),它是基于MVC的框架。它通過采用JavaServlet/JSP技術(shù),實(shí)現(xiàn)了基于Java EEWeb應(yīng)用的MVC設(shè)計(jì)模式的應(yīng)用框架,是MVC的一個(gè)具體實(shí)現(xiàn)或著說是MVC的一個(gè)具體產(chǎn)品。 

2、Struts的核心構(gòu)成      

  

      Struts的核心同樣也是MVC的核心,Struts是MVC的一個(gè)具體產(chǎn)品。 

(1)Model 

       由Action、ActionForm以及JavaBean組成,其中ActionForm用于將用戶請求的參數(shù),封裝成為ActionForm對象,我們可以理解為實(shí)體,由ActionServlet轉(zhuǎn)發(fā)給Action,Action處理用戶請求,將處理結(jié)果返回到界面。 

(2)View 

       該部分采用JSP+大量的taglib,實(shí)現(xiàn)頁面的渲染。 

(3)Controller 

       Controller是Struts的核心控制器,負(fù)責(zé)攔截用戶請求,通過調(diào)用Model來實(shí)現(xiàn)處理用戶請求的功能。 

3、為什么使用Struts?

      使用Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé)MVC的分離,將頁面從業(yè)務(wù)邏輯分離出來,使用頁面更加靈活多變,不會(huì)影響業(yè)務(wù)邏輯,簡化了基于MVC的web應(yīng)用程序的開發(fā),因而使得開發(fā)更加高效。

Hibernate

1、什么是Hibernate? 

      Hibernate是一個(gè)對象關(guān)系映射框架,它對JDBC進(jìn)行了輕量級(jí)的封裝,使得我們使用面向?qū)ο蟮乃枷氩僮麝P(guān)系型數(shù)據(jù)庫。 

2、Hibernate的核心構(gòu)成          

     

      這部分內(nèi)容我們不做過多的解釋,上面導(dǎo)圖中的解釋已經(jīng)很簡單明了了,如果還是不懂的話,可以上網(wǎng)查閱相關(guān)資料。

3、為什么使用Hibernate?

(1)Hibernate是JDBC的輕量級(jí)的對象封裝,它使得與關(guān)系型數(shù)據(jù)庫打交道變得更加輕松自如。

(2)對象化,它使得我們可以以面向?qū)ο蟮乃枷氩僮麝P(guān)系型數(shù)據(jù)庫,簡化了Dao層編碼工作,使得開發(fā)更加對象化了。

(3)移植性更好,支持各種數(shù)據(jù)庫,更換數(shù)據(jù)庫異常簡單,不需要改代碼。

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

Spring

1、什么是Spring?

      簡單來說,Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。

2、Spring的核心構(gòu)成       

  

(1)IoC 

       IoC就是IoC,不是什么技術(shù),是一種設(shè)計(jì)模式。通過依賴注入的方式,由spring管理和控制對象之間的依賴關(guān)系,避免硬編

碼所造成的過度程序耦合。

(2)AoP 

       通過預(yù)編譯方式和運(yùn)行期動(dòng)態(tài)代理實(shí)現(xiàn)程序功能的統(tǒng)一維護(hù)的一種技術(shù)。 

(3)容器

       能管理對象的生命周期、對象與對象之間的依賴關(guān)系就是容器。

3、為什么使用Spring?

      沒有Spring,Struts和Hibernate可以很好的運(yùn)行,我稱這樣的模式為“獨(dú)木橋”,但是有了Spring,Struts和Hibernate能夠更好的結(jié)合在一起,協(xié)調(diào)的工作。我稱這樣的模式為“陽光大道”。Spring的核心思想是IoC和AOP,Spring使得管理對象更加方便,極大的降低組件之間的耦合度,實(shí)現(xiàn)了軟件各層之間的解耦。Spring的優(yōu)點(diǎn)還有很多,我們就不再累述了。

總結(jié)

      SSH不僅實(shí)現(xiàn)了視圖、控制器與模型的徹底分離,而且還實(shí)現(xiàn)了業(yè)務(wù)邏輯層與持久層的分離,耦合度降低,系統(tǒng)的靈活性更好,可復(fù)用性高。同時(shí),框架為我們提供了一些基礎(chǔ)性的服務(wù),使我們的開發(fā)更加簡單,大大提高開發(fā)效率。

相關(guān)文章

  • Spring框架七大模塊簡單介紹

    Spring框架七大模塊簡單介紹

    這篇文章主要介紹了Spring框架七大模塊簡單介紹,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Mybatis-plus在項(xiàng)目中的簡單應(yīng)用

    Mybatis-plus在項(xiàng)目中的簡單應(yīng)用

    Mybatis-plus是Spring框架中OOM的一大利器,其簡單易用參考官網(wǎng)文檔即可很快上手,本文主要介紹了邏輯刪除,自動(dòng)填充,分頁插件等的簡單使用,感興趣的可以了解一下
    2021-07-07
  • springboot3+r2dbc響應(yīng)式編程實(shí)踐

    springboot3+r2dbc響應(yīng)式編程實(shí)踐

    本文主要介紹了springboot3+r2dbc響應(yīng)式編程實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • slf4j使用log4j的配置參數(shù)方式

    slf4j使用log4j的配置參數(shù)方式

    這篇文章主要介紹了slf4j使用log4j的配置參數(shù)方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Spring?Boot3?跨域配置?Cors的方式

    Spring?Boot3?跨域配置?Cors的方式

    這篇文章主要介紹了Spring?Boot3?跨域配置?Cors,通過使用CORS,開發(fā)人員可以控制哪些外部網(wǎng)頁可以訪問他們的資源,從而提高應(yīng)用程序的安全性,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • SpringBoot+Vue+JWT的前后端分離登錄認(rèn)證詳細(xì)步驟

    SpringBoot+Vue+JWT的前后端分離登錄認(rèn)證詳細(xì)步驟

    這篇文章主要介紹了SpringBoot+Vue+JWT的前后端分離登錄認(rèn)證,其實(shí)創(chuàng)建后端springboot工程也很簡單,本文安裝idea步驟一步步給大家詳細(xì)介紹,需要的朋友可以參考下
    2021-09-09
  • java實(shí)現(xiàn)遺傳算法實(shí)例分享(打印城市信息)

    java實(shí)現(xiàn)遺傳算法實(shí)例分享(打印城市信息)

    本文介紹java實(shí)現(xiàn)遺傳算法的實(shí)例,代碼中使用城市名做為數(shù)據(jù),可以打印當(dāng)前代數(shù)的所有城市序列,以及其相關(guān)的參數(shù),大家參考使用吧
    2014-01-01
  • Javascript和Java語言有什么關(guān)系?兩種語言間的異同比較

    Javascript和Java語言有什么關(guān)系?兩種語言間的異同比較

    雖然Javascript與Java有緊密的聯(lián)系,但卻是兩個(gè)公司開發(fā)的不同的兩個(gè)產(chǎn)品。那么js和java有什么關(guān)系,兩種語言的不同點(diǎn)是什么呢?介于這兩個(gè)問題,小編一起給大家解答下
    2016-09-09
  • Java守護(hù)線程和用戶線程的區(qū)別

    Java守護(hù)線程和用戶線程的區(qū)別

    這篇文章主要介紹了Java守護(hù)線程和用戶線程的區(qū)別,用戶線程和守護(hù)線程,默認(rèn)情況下我們創(chuàng)建的線程或線程池都是用戶線程,所以用戶線程也被稱之為普通線程,下文更多詳細(xì)內(nèi)容需要的小伙伴可以參考一下
    2022-05-05
  • Spring Boot詳解配置文件有哪些作用與細(xì)則

    Spring Boot詳解配置文件有哪些作用與細(xì)則

    SpringBoot項(xiàng)目是一個(gè)標(biāo)準(zhǔn)的Maven項(xiàng)目,它的配置文件需要放在src/main/resources/下,其文件名必須為application,其存在兩種文件形式,分別是properties和yaml(或者yml)文件
    2022-07-07

最新評(píng)論