zz - ssh框架入門
原帖地址:http://306781704-qq-com.iteye.com/blog/289681
ssh(struts+spring+hibernate)究竟是怎么一回事?是一種規(guī)范。
先別管規(guī)范,我們從最基本的概念去理解它。java是對(duì)面向?qū)ο蟮木幊陶Z(yǔ)言,java里一切只有類,java項(xiàng)目的本質(zhì)就是執(zhí)行類的方法,類與類之間的調(diào)用。利用的其它資源就是文件,主要是xml配置文件,另外就是數(shù)據(jù)庫(kù)。
jsp文件實(shí)質(zhì)也是一種java類,它將被編譯成Servlet類文件。jsp是為了簡(jiǎn)化用戶編寫繁雜的Servlet類文件而設(shè)置的。web容器(也是一堆java類)負(fù)責(zé)把jsp文件轉(zhuǎn)化成Servlet類文件。
為了完成一個(gè)任務(wù),實(shí)現(xiàn)一個(gè)功能,需要寫許多java類,根據(jù)java類的作用不同,可以把java類分成幾種,有些負(fù)責(zé)頁(yè)面展示,有些負(fù)責(zé)業(yè)務(wù)處理邏輯運(yùn)算,有些負(fù)責(zé)訪問(wèn)數(shù)據(jù)庫(kù)。當(dāng)然,你也可以把這些功能寫在一個(gè)類里實(shí)現(xiàn)(呵呵,這在理論上是能實(shí)現(xiàn)的!),不過(guò)人們?yōu)榱舜a更加清晰,往往一個(gè)大功能分成許多小功能,由多個(gè)類去實(shí)現(xiàn)。
上面的話大家應(yīng)該不難理解,即為了完成一個(gè)大功能,要由許多類,分別完成相應(yīng)專門功能。可這和框架似乎無(wú)關(guān),框架又是怎么回事呢?所謂框架就是“由許多類,分別完成相應(yīng)專門功能”的具體規(guī)范,這在多人合作開發(fā)一個(gè)大項(xiàng)目時(shí)尤為必要。大家試想,如果項(xiàng)目組成員各行其是,自己想用哪幾種類實(shí)現(xiàn)功能就用哪幾種類,會(huì)是一個(gè)什么樣子,有多混亂!因此框架的定義就是:為了完成一個(gè)整體功能,對(duì)實(shí)現(xiàn)這個(gè)功能的java類的一種分工規(guī)范。(準(zhǔn)確說(shuō),這是一種人為的規(guī)范劃分,任何人都可編寫自己的任意規(guī)范,就是一個(gè)會(huì)有多少人會(huì)用的問(wèn)題了)
struts+spring+hibernate就是這樣一種規(guī)范
struts是顯示層的一種規(guī)范,側(cè)重于處理“給用戶顯示的前臺(tái)頁(yè)面”和后臺(tái)業(yè)務(wù)處理類之間的對(duì)應(yīng)關(guān)系,并且負(fù)責(zé)前后臺(tái)之間的數(shù)據(jù)傳遞。它由三種java類組件jsp、Form、Action分別實(shí)現(xiàn)前臺(tái)頁(yè)面展示、后臺(tái)業(yè)務(wù)處理類、數(shù)據(jù)傳遞類。(所謂組件,就是對(duì)一種專門實(shí)現(xiàn)某種功能的java類的稱呼)
spring是業(yè)務(wù)層的一種規(guī)范,側(cè)重于定義事務(wù)處理,提供了對(duì)各種java類的整體處理(主要包括注入處理IoC和切面編程AOP),甚至提供了對(duì)多種框架集成在一塊的規(guī)范,它是一種更高層次的框架,它主要以一個(gè)外部 XML 配置文件方便地將各框架對(duì)象連接在一起,進(jìn)而實(shí)現(xiàn)安全性服務(wù)、事務(wù)服務(wù)等。
這里大家可能有一個(gè)疑問(wèn),spring是如何以一個(gè)外部 XML 配置文件實(shí)現(xiàn)的各種功能呢?這其實(shí)沒(méi)有任何神秘而言,我們大家都知道,每個(gè)框架都有許多類包,這些類包就是專門實(shí)現(xiàn)這些事情的。這些類包是如何介入我們寫的類代碼或其它框架的呢?當(dāng)然必須通過(guò)一定途徑才能調(diào)用其它類代碼,有時(shí)spring把這個(gè)細(xì)節(jié)隱藏了起來(lái),使我們感到不可思議,細(xì)究一下,我們會(huì)發(fā)現(xiàn)不外通過(guò)兩種方式才能調(diào)用其它類代碼:一是把我們的類寫在它的配置文件里,二是我們的類繼承它的接口。
hibernate是一個(gè)純 Java 的對(duì)象關(guān)系映射和持久性框架,它允許您用 XML 配置文件把普通 Java 對(duì)象映射到關(guān)系數(shù)據(jù)庫(kù)表,從而可以使用戶以hibernate提供的面向?qū)ο蟮慕涌谳p松操作數(shù)據(jù)庫(kù)。hibernate的類包在后臺(tái)還是以JDBC的方式操作數(shù)據(jù)庫(kù)。
三種技術(shù)到目前已經(jīng)比較成熟,而且他們都是免費(fèi)的!讓我們對(duì)三者集成,與大家一起輕松、深入地進(jìn)入ssh天地
ssh(struts+spring+hibernate)究竟是怎么一回事?是一種規(guī)范。
先別管規(guī)范,我們從最基本的概念去理解它。java是對(duì)面向?qū)ο蟮木幊陶Z(yǔ)言,java里一切只有類,java項(xiàng)目的本質(zhì)就是執(zhí)行類的方法,類與類之間的調(diào)用。利用的其它資源就是文件,主要是xml配置文件,另外就是數(shù)據(jù)庫(kù)。
jsp文件實(shí)質(zhì)也是一種java類,它將被編譯成Servlet類文件。jsp是為了簡(jiǎn)化用戶編寫繁雜的Servlet類文件而設(shè)置的。web容器(也是一堆java類)負(fù)責(zé)把jsp文件轉(zhuǎn)化成Servlet類文件。
為了完成一個(gè)任務(wù),實(shí)現(xiàn)一個(gè)功能,需要寫許多java類,根據(jù)java類的作用不同,可以把java類分成幾種,有些負(fù)責(zé)頁(yè)面展示,有些負(fù)責(zé)業(yè)務(wù)處理邏輯運(yùn)算,有些負(fù)責(zé)訪問(wèn)數(shù)據(jù)庫(kù)。當(dāng)然,你也可以把這些功能寫在一個(gè)類里實(shí)現(xiàn)(呵呵,這在理論上是能實(shí)現(xiàn)的!),不過(guò)人們?yōu)榱舜a更加清晰,往往一個(gè)大功能分成許多小功能,由多個(gè)類去實(shí)現(xiàn)。
上面的話大家應(yīng)該不難理解,即為了完成一個(gè)大功能,要由許多類,分別完成相應(yīng)專門功能。可這和框架似乎無(wú)關(guān),框架又是怎么回事呢?所謂框架就是“由許多類,分別完成相應(yīng)專門功能”的具體規(guī)范,這在多人合作開發(fā)一個(gè)大項(xiàng)目時(shí)尤為必要。大家試想,如果項(xiàng)目組成員各行其是,自己想用哪幾種類實(shí)現(xiàn)功能就用哪幾種類,會(huì)是一個(gè)什么樣子,有多混亂!因此框架的定義就是:為了完成一個(gè)整體功能,對(duì)實(shí)現(xiàn)這個(gè)功能的java類的一種分工規(guī)范。(準(zhǔn)確說(shuō),這是一種人為的規(guī)范劃分,任何人都可編寫自己的任意規(guī)范,就是一個(gè)會(huì)有多少人會(huì)用的問(wèn)題了)
struts+spring+hibernate就是這樣一種規(guī)范
struts是顯示層的一種規(guī)范,側(cè)重于處理“給用戶顯示的前臺(tái)頁(yè)面”和后臺(tái)業(yè)務(wù)處理類之間的對(duì)應(yīng)關(guān)系,并且負(fù)責(zé)前后臺(tái)之間的數(shù)據(jù)傳遞。它由三種java類組件jsp、Form、Action分別實(shí)現(xiàn)前臺(tái)頁(yè)面展示、后臺(tái)業(yè)務(wù)處理類、數(shù)據(jù)傳遞類。(所謂組件,就是對(duì)一種專門實(shí)現(xiàn)某種功能的java類的稱呼)
spring是業(yè)務(wù)層的一種規(guī)范,側(cè)重于定義事務(wù)處理,提供了對(duì)各種java類的整體處理(主要包括注入處理IoC和切面編程AOP),甚至提供了對(duì)多種框架集成在一塊的規(guī)范,它是一種更高層次的框架,它主要以一個(gè)外部 XML 配置文件方便地將各框架對(duì)象連接在一起,進(jìn)而實(shí)現(xiàn)安全性服務(wù)、事務(wù)服務(wù)等。
這里大家可能有一個(gè)疑問(wèn),spring是如何以一個(gè)外部 XML 配置文件實(shí)現(xiàn)的各種功能呢?這其實(shí)沒(méi)有任何神秘而言,我們大家都知道,每個(gè)框架都有許多類包,這些類包就是專門實(shí)現(xiàn)這些事情的。這些類包是如何介入我們寫的類代碼或其它框架的呢?當(dāng)然必須通過(guò)一定途徑才能調(diào)用其它類代碼,有時(shí)spring把這個(gè)細(xì)節(jié)隱藏了起來(lái),使我們感到不可思議,細(xì)究一下,我們會(huì)發(fā)現(xiàn)不外通過(guò)兩種方式才能調(diào)用其它類代碼:一是把我們的類寫在它的配置文件里,二是我們的類繼承它的接口。
hibernate是一個(gè)純 Java 的對(duì)象關(guān)系映射和持久性框架,它允許您用 XML 配置文件把普通 Java 對(duì)象映射到關(guān)系數(shù)據(jù)庫(kù)表,從而可以使用戶以hibernate提供的面向?qū)ο蟮慕涌谳p松操作數(shù)據(jù)庫(kù)。hibernate的類包在后臺(tái)還是以JDBC的方式操作數(shù)據(jù)庫(kù)。
三種技術(shù)到目前已經(jīng)比較成熟,而且他們都是免費(fèi)的!讓我們對(duì)三者集成,與大家一起輕松、深入地進(jìn)入ssh天地
posted on 2011-12-03 15:17 rosial 閱讀(172) 評(píng)論(0) 編輯 收藏