SpringMVC

我們的開發(fā)架構一般都是基于兩種形式犯眠,一種是 C/S 架構簿晓,也就是客戶端/服務器,另一種是 B/S 架構罗晕,也就
是瀏覽器服務器济欢。在 JavaEE 開發(fā)中,幾乎全都是基于 B/S架構的開發(fā)小渊。那么在 B/S架構中船逮,系統(tǒng)標準的三層架構
包括:表現(xiàn)層、業(yè)務層粤铭、持久層挖胃。三層架構在我們的實際開發(fā)中使用的非常多,所以我們課程中的案例也都是基于
三層架構設計的。
三層架構中酱鸭,每一層各司其職吗垮,接下來我們就說說每層都負責哪些方面:
表現(xiàn)層:
也就是我們常說的web層。它負責接收客戶端請求凹髓,向客戶端響應結果烁登,通常客戶端使用http協(xié)議請求
web 層蔚舀,web 需要接收 http 請求饵沧,完成 http 響應。
表現(xiàn)層包括展示層和控制層:控制層負責接收請求赌躺,展示層負責結果的展示狼牺。
表現(xiàn)層依賴業(yè)務層,接收到客戶端請求一般會調用業(yè)務層進行業(yè)務處理礼患,并將處理結果響應給客戶端是钥。
表現(xiàn)層的設計一般都使用 MVC 模型。(MVC 是表現(xiàn)層的設計模型缅叠,和其他層沒有關系)
業(yè)務層:
也就是我們常說的 service 層悄泥。它負責業(yè)務邏輯處理,和我們開發(fā)項目的需求息息相關肤粱。web 層依賴業(yè)
務層弹囚,但是業(yè)務層不依賴 web 層。
業(yè)務層在業(yè)務處理時可能會依賴持久層领曼,如果要對數(shù)據(jù)持久化需要保證事務一致性鸥鹉。(也就是我們說的,
事務應該放到業(yè)務層來控制)
持久層:
也就是我們是常說的 dao 層悯森。負責數(shù)據(jù)持久化宋舷,包括數(shù)據(jù)層即數(shù)據(jù)庫和數(shù)據(jù)訪問層,數(shù)據(jù)庫是對數(shù)據(jù)進
行持久化的載體瓢姻,數(shù)據(jù)訪問層是業(yè)務層和持久層交互的接口祝蝠,業(yè)務層需要通過數(shù)據(jù)訪問層將數(shù)據(jù)持久化到數(shù)據(jù)庫
中。通俗的講幻碱,持久層就是和數(shù)據(jù)庫交互绎狭,對數(shù)據(jù)庫表進行曾刪改查的。

MVC

MVC 全名是 Model View Controller褥傍,是模型(model)-視圖(view)-控制器(controller)的縮寫儡嘶,
是一種用于設計創(chuàng)建 Web 應用程序表現(xiàn)層的模式。MVC 中每個部分各司其職:
Model (模型) :
通常指的就是我們的數(shù)據(jù)模型恍风。作用一般情況下用于封裝數(shù)據(jù)蹦狂。
View (視圖) :
通常指的就是我們的 jsp 或者 html誓篱。作用一般就是展示數(shù)據(jù)的。
通常視圖是依據(jù)模型數(shù)據(jù)創(chuàng)建的凯楔。
Controller (控制器) :
是應用程序中處理用戶交互的部分窜骄。作用一般就是處理程序邏輯的。
它相對于前兩個不是很好理解摆屯,這里舉個例子:
例如:
我們要保存一個用戶的信息邻遏,該用戶信息中包含了姓名,性別虐骑,年齡等等准验。
這時候表單輸入要求年齡必須是 1~100 之間的整數(shù)。姓名和性別不能為空廷没。并且把數(shù)據(jù)填充
到模型之中糊饱。
此時除了 js 的校驗之外,服務器端也應該有數(shù)據(jù)準確性的校驗腕柜,那么校驗就是控制器的該做
的济似。
當校驗失敗后矫废,由控制器負責把錯誤頁面展示給使用者盏缤。
如果校驗成功,也是控制器負責把數(shù)據(jù)填充到模型蓖扑,并且調用業(yè)務層實現(xiàn)完整的業(yè)務需求

SpringMVC

SpringMVC 是一種基于 Java 的實現(xiàn) MVC 設計模型的請求驅動類型的輕量級 Web 框架唉铜,屬于 SpringFrameWork 的后續(xù)產品,已經融合在 Spring Web Flow 里面律杠。Spring 框架提供了構建 Web 應用程序的全功
能 MVC 模塊潭流。使用 Spring 可插入的 MVC 架構,從而在使用 Spring 進行 WEB 開發(fā)時柜去,可以選擇使用 Spring的 Spring MVC 框架或集成其他 MVC 開發(fā)框架灰嫉,如 Struts1(現(xiàn)在一般不用),Struts2 等嗓奢。
SpringMVC 已經成為目前最主流的 MVC 框架之一讼撒,并且隨著 Spring3.0 的發(fā)布,全面超越 Struts2股耽,成為最優(yōu)秀的 MVC 框架根盒。
它通過一套注解,讓一個簡單的 Java 類成為處理請求的控制器物蝙,而無須實現(xiàn)任何接口炎滞。同時它還支持RESTful 編程風格的請求。


SpringMVC入門

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末诬乞,一起剝皮案震驚了整個濱河市册赛,隨后出現(xiàn)的幾起案子钠导,更是在濱河造成了極大的恐慌,老刑警劉巖森瘪,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辈双,死亡現(xiàn)場離奇詭異,居然都是意外死亡柜砾,警方通過查閱死者的電腦和手機湃望,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來痰驱,“玉大人证芭,你說我怎么就攤上這事〉S常” “怎么了废士?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蝇完。 經常有香客問我官硝,道長,這世上最難降的妖魔是什么短蜕? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任氢架,我火速辦了婚禮,結果婚禮上朋魔,老公的妹妹穿的比我還像新娘岖研。我一直安慰自己,他們只是感情好警检,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布孙援。 她就那樣靜靜地躺著蜒什,像睡著了一般奔害。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上绪囱,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天镶奉,我揣著相機與錄音础淤,去河邊找鬼。 笑死腮鞍,一個胖子當著我的面吹牛值骇,可吹牛的內容都是我干的。 我是一名探鬼主播移国,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼吱瘩,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了迹缀?” 一聲冷哼從身側響起使碾,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤蜜徽,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后票摇,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拘鞋,經...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年矢门,在試婚紗的時候發(fā)現(xiàn)自己被綠了盆色。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡祟剔,死狀恐怖隔躲,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情物延,我是刑警寧澤宣旱,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站叛薯,受9級特大地震影響浑吟,放射性物質發(fā)生泄漏。R本人自食惡果不足惜耗溜,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一组力、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧强霎,春花似錦忿项、人聲如沸蓉冈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽寞酿。三九已至家夺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間伐弹,已是汗流浹背拉馋。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留惨好,地道東北人煌茴。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像日川,于是被迫代替她去往敵國和親蔓腐。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348