全部課程
發(fā)布時間: 2023-03-14 16:34:33
我們知道,傳統(tǒng)的Java Web應(yīng)用是用JSP+Servlet+Javabean實現(xiàn)的。這種模式實現(xiàn)了最基本的MVC分層,將程序結(jié)構(gòu)分為若干層,其中JSP用于前端顯示,Servlet用于流程邏輯控制,Javabean用于數(shù)據(jù)封裝。
Spring:
Spring是一個業(yè)務(wù)層框架,是一個集成的框架,可以很好的黏合表示層和持久層。
Struts:
為了解決這些問題,有一個Struts框架,它是MVC的完美實現(xiàn),它有一個中心控制類(一個Servlet),針對不同的業(yè)務(wù),我們需要一個Action類負(fù)責(zé)頁面跳轉(zhuǎn)和后臺邏輯操作,一個或幾個JSP頁面負(fù)責(zé)數(shù)據(jù)輸入和輸出顯示,還有一個Form類負(fù)責(zé)傳遞,JSP可以使用Struts框架提供的一組標(biāo)簽,像使用HTML標(biāo)簽一樣簡單,但可以完成很復(fù)雜的邏輯。從此JSP頁面中不需要出現(xiàn)一行封裝的Java代碼。但是所有的邏輯在Struts Action中都會使Action類的復(fù)用率低且邏輯混亂,所以人們通常把整個Web應(yīng)用分為三層,Struts負(fù)責(zé)顯示層,它調(diào)用業(yè)務(wù)層來完成邏輯,業(yè)務(wù)層再調(diào)用持久層來完成數(shù)據(jù)庫的讀寫。使用JDBC連接來讀寫數(shù)據(jù)庫,我們最常見的是打開數(shù)據(jù)庫連接,使用復(fù)雜的SQL語句進(jìn)行讀寫,關(guān)閉連接,得到的數(shù)據(jù)需要進(jìn)行轉(zhuǎn)換或封裝,然后傳輸?shù)酵獠?,這是一個非常繁瑣的過程。
Hibernate:
Hibernate框架的出現(xiàn),需要你創(chuàng)建一系列的持久化類,每個類的屬性可以簡單的看成是與數(shù)據(jù)庫表的屬性一一對應(yīng),當(dāng)然,你也可以實現(xiàn)關(guān)系數(shù)據(jù)庫中各個表組件的關(guān)聯(lián)對應(yīng)。當(dāng)我們需要相關(guān)操作時,我們不必關(guān)注數(shù)據(jù)庫表。我們不必逐行查詢數(shù)據(jù)庫,我們只需要通過持久化類就可以完成增、刪、改、查的功能。這使得我們的軟件開發(fā)真正面向?qū)ο螅皇敲嫦蚧靵y的代碼。我的感覺是,與JDBC方式相比,使用Hibernate可以減少80%的編程量。
上一篇: 數(shù)據(jù)倉庫的作用是什么
下一篇: ORM技術(shù)是什么