卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

mvc模型有什么特點(diǎn) 如何實(shí)現(xiàn)MVC模式?

如何實(shí)現(xiàn)MVC模式?在MVC設(shè)計(jì)模式中:C代表控制器,負(fù)責(zé)用戶界面和業(yè)務(wù)邏輯層之間的通信控制。一方面,它解釋用戶界面的輸入,識(shí)別用戶操作(如單擊按鈕等),并調(diào)用相應(yīng)模型中的方法。另一方面,它處理來(lái)自模

如何實(shí)現(xiàn)MVC模式?

在MVC設(shè)計(jì)模式中:C代表控制器,負(fù)責(zé)用戶界面和業(yè)務(wù)邏輯層之間的通信控制。一方面,它解釋用戶界面的輸入,識(shí)別用戶操作(如單擊按鈕等),并調(diào)用相應(yīng)模型中的方法。另一方面,它處理來(lái)自模型的事件和返回的執(zhí)行結(jié)果,并調(diào)用適當(dāng)?shù)囊晥D顯示給用戶??刂破髦饕蓅ervlet完成。M代表model,負(fù)責(zé)整個(gè)解決方案的業(yè)務(wù)邏輯實(shí)現(xiàn),底層數(shù)據(jù)庫(kù)也由model訪問(wèn)和操作;V代表view,負(fù)責(zé)向用戶顯示系統(tǒng),主要由HTML和JSP完成;

如何實(shí)現(xiàn)MVC模式?

最簡(jiǎn)單的方法是使用MVC框架,如struts或JSF,它本身就是一個(gè)實(shí)現(xiàn)。如果您自己實(shí)現(xiàn)它,則更復(fù)雜的事情是編寫(xiě)主控制器、接受所有用戶的請(qǐng)求、將其分發(fā)給其他servlet或直接跳轉(zhuǎn)到頁(yè)面。最好使用MVC框架,了解其生命周期和原理,然后查看框架控制器的源代碼。

原理:

JSP的開(kāi)發(fā)經(jīng)歷了兩個(gè)模型時(shí)代。在JSP模型時(shí)代,代碼是寫(xiě)在JSP頁(yè)面上的。當(dāng)用戶訪問(wèn)JSP頁(yè)面時(shí),JSP頁(yè)面操作數(shù)據(jù)庫(kù)并將值返回給JSP頁(yè)面。這樣一來(lái),一是不易維護(hù),二是安全性不高,三代代碼結(jié)構(gòu)不清晰,四是可重用性不高。這就是JSP模型。在第二個(gè)時(shí)代,人們將所有頁(yè)面請(qǐng)求交給servlet控制器來(lái)接受并分發(fā)它們。servlet決定是調(diào)用其他servlet來(lái)訪問(wèn)數(shù)據(jù)庫(kù)還是跳轉(zhuǎn)頁(yè)面。這個(gè)servlet在MVC中是C,就像struts中的actionservlet,在JSF中是面向servlet的,網(wǎng)站.xml在中配置了整個(gè)servlet控制器,為了更好地分層、重用和減少依賴,MVC是可用的。m層接收并綁定用戶的數(shù)據(jù),V層顯示數(shù)據(jù),C層控制數(shù)據(jù)。

目前主流的開(kāi)發(fā)模式是四層:頁(yè)面、動(dòng)作和服務(wù)數(shù)據(jù)訪問(wèn)層(DAO),頁(yè)面層用來(lái)顯示頁(yè)面,動(dòng)作層用來(lái)捕獲用戶事件,調(diào)用服務(wù)層來(lái)處理業(yè)務(wù)邏輯。服務(wù)必須處理業(yè)務(wù)邏輯來(lái)添加和刪除數(shù)據(jù)庫(kù),并拼接HQL語(yǔ)句,然后調(diào)用Dao層來(lái)操作數(shù)據(jù)庫(kù),Hibernate完成Dao層。但是這樣,操作層就依賴于服務(wù)層。為了創(chuàng)建對(duì)服務(wù)接口的引用,服務(wù)層依賴于Dao層。也就是說(shuō),要實(shí)例化動(dòng)作層的對(duì)象,至少要同時(shí)實(shí)例化一個(gè)服務(wù)層和至少一個(gè)Dao層。因此,spring的IOC可以工作并減少層之間的依賴性。每個(gè)層都被配置為spring的接口對(duì)象實(shí)例,以減少依賴性。