mvc結(jié)構(gòu)是什么?
MVC是三個(gè)詞的縮寫:模型、視圖和控制器。
MVC架構(gòu)廣泛應(yīng)用于交互式應(yīng)用中。它將對(duì)象劃分為功能,盡可能地減少對(duì)象之間的耦合。MVC架構(gòu)對(duì)應(yīng)的是傳統(tǒng)應(yīng)用架構(gòu)的模型——輸入、處理、輸出到用戶界面。它們還對(duì)應(yīng)于基于域的多層企業(yè)WEB應(yīng)用程序。
MVC架構(gòu)將應(yīng)用分為三層——模型、視圖和控制,弱化了各自的職責(zé)。每一層都處理特定的任務(wù),并對(duì)其他層負(fù)有特殊的責(zé)任。
模型存儲(chǔ)業(yè)務(wù)數(shù)據(jù),并控制訪問(wèn)和修改業(yè)務(wù)數(shù)據(jù)的業(yè)務(wù)邏輯或操作。在性能方面,該模型與軟件中的功能有些相似。當(dāng)模型改變時(shí),它將通知視圖,并為視圖提供查詢模型狀態(tài)的能力。它還為控制器提供了訪問(wèn)模型中封裝的應(yīng)用程序功能的能力。
B.視圖顯示了模型中的內(nèi)容。它訪問(wèn)模型中的數(shù)據(jù)并顯示數(shù)據(jù)。當(dāng)模型改變時(shí),它將實(shí)時(shí)更新數(shù)據(jù)的呈現(xiàn)。視圖還完成了傳遞用戶控制器的輸入。
C.控制器定義了應(yīng)用程序的行為。它分派用戶然后調(diào)用相應(yīng)的視圖來(lái)顯示它。它解析用戶的輸入,然后將它與完成模型中相應(yīng)功能的事件處理相匹配。在標(biāo)準(zhǔn)GUI客戶端應(yīng)用程序中,用戶輸入包括點(diǎn)擊按鈕和選擇菜單。在W
mvc的含義和各層調(diào)用關(guān)系?dao類屬于那一層?為什么?
MVC中的m是模型層,V是視圖),C層,C是控制器層。一般程序使用模型層與數(shù)據(jù)庫(kù)交互,而dao層用于操作數(shù)據(jù)庫(kù),因此認(rèn)為dao層屬于模型層。
還有一種觀點(diǎn)認(rèn)為,dao層被視為MVC框架之外的一個(gè)單獨(dú)的層,稱為數(shù)據(jù)持久層。看個(gè)人理解了。
初學(xué)java的小白接到了項(xiàng)目:JSP頁(yè)面與MySQL數(shù)據(jù)庫(kù)連接、MVC模式等。怎么做才能體現(xiàn)項(xiàng)目需求呢?
謝謝你邀請(qǐng)我!
JSP是JavaWeb開發(fā)的傳統(tǒng)技術(shù)之一。雖然存在業(yè)務(wù)邏輯和顯示邏輯耦合、無(wú)法單獨(dú)部署、開發(fā)角色劃分不清等諸多弊端,但對(duì)于初學(xué)者來(lái)說(shuō),JSP仍然是必要的,很多遺留項(xiàng)目仍然需要采用JSP技術(shù)。
MySQL數(shù)據(jù)庫(kù)是目前應(yīng)用最廣泛的數(shù)據(jù)庫(kù)之一,尤其是在Web開發(fā)領(lǐng)域。MySQL數(shù)據(jù)庫(kù)簡(jiǎn)單易學(xué),功能強(qiáng)大,j。艾娃程序員通常熟悉MySQL數(shù)據(jù)庫(kù)。雖然可以通過(guò)JSP直接連接MySQL數(shù)據(jù)庫(kù),但是這種顯然存在很多問(wèn)題,通過(guò)MVC結(jié)構(gòu)基本可以解決。
MVC是軟件開發(fā)領(lǐng)域的經(jīng)典架構(gòu)。用MVC進(jìn)行Web開發(fā)也叫Model2開發(fā)模式。這種開發(fā)模式用JavaBean描述M(模型),JSP描述V(視圖),Servlet描述C(控制器)。MVC最大的優(yōu)勢(shì)是實(shí)現(xiàn)了不同部分的解耦,提高了Web程序的模塊化,為多角色協(xié)同開發(fā)奠定了重要基礎(chǔ),也為以后的優(yōu)化打下了基礎(chǔ)。
如果我們想使用MVC結(jié)構(gòu)來(lái)完成一個(gè)傳統(tǒng)的JavaWeb開發(fā),我們需要使用一系列傳統(tǒng)的技術(shù)如Servlet、JSP、JavaBean、JDBC、MVC、DAO等。,使用模擬"存款和取款"銀行業(yè)務(wù)。
存取轉(zhuǎn)業(yè)務(wù)的基礎(chǔ)是account,所以可以先寫一個(gè)Account類作為M部分,然后為M定義一個(gè)映射表,以DAO的完成數(shù)據(jù)庫(kù)和Account類的映射,需要定義接口、實(shí)現(xiàn)類和工廠類。然后定義控制器Servlet,完成各種"導(dǎo)航"由用戶在Servlet中請(qǐng)求,最后通過(guò)JSP完成演示。
這個(gè)過(guò)程只是一個(gè)基本的模擬,沒(méi)有采用開源框架。Java學(xué)習(xí)者學(xué)習(xí)開源框架是很有必要的。掌握了MVC和DAO之后,再學(xué)習(xí)SpringMVC和Mybatis會(huì)更容易理解。
作者簡(jiǎn)介:計(jì)算機(jī)專業(yè)研究生導(dǎo)師,從事IT行業(yè)多年。研究方向包括動(dòng)態(tài)軟件架構(gòu)、大數(shù)據(jù)和人工智能,有多年一線研發(fā)經(jīng)驗(yàn)。
歡迎關(guān)注作者,咨詢計(jì)算機(jī)相關(guān)問(wèn)題。