當前位置:首頁 » 網頁前端 » javawebmvc模式
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

javawebmvc模式

發布時間: 2022-07-02 06:22:12

1. 關於java web的MVC

首先MVC是三個層,模型(Model),視圖(View)和控制(Controller)。MVC模式的目的就是實現Web系統的職能分工。 Model層實現系統中的業務邏輯,通常可以用JavaBean或EJB來實現。 View層用於與用戶的交互,通常用JSP來實現。 Controller層是Model與View之間溝通的橋梁,它可以分派用戶的請求並選擇恰當的視圖以用於顯示,同時它也可以解釋用戶的輸入並將它們映射為模型層可執行的操作。

2. Java中的MVC是什麼

一、什麼是MVC
Model:模型層
View:視圖層
Controller:控制層
MVC (Modal View Controler)本來是存在於Desktop程序中的,M是指數據模型,V是指用戶界面,C則是控制器。使用MVC的目的是將M和V的實現代碼分離,從而使同一個程序可以使用不同的表現形式。比如一批統計數據你可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。

模型-視圖-控制器(MVC)是Xerox PARC在八十年代為編程語言Smalltalk-80發明的一種軟體設計模式,至今已被廣泛使用。最近幾年被推薦為Sun公司J2EE平台的設計模式,並且受到越來越多的使用 ColdFusion 和 PHP 的開發者的歡迎。模型-視圖-控制器模式是一個有用的工具箱,它有很多好處,但也有一些缺點。

二、MVC如何工作

MVC是一個設計模式,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。

視圖
視圖是用戶看到並與之交互的界面。對老式的Web應用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術已層出不窮,它們包括Macromedia Flash和象XHTML,XML/XSL,WML等一些標識語言和Web services.

如何處理應用程序的界面變得越來越有挑戰性。MVC一個大的好處是它能為你的應用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發生,不管這些數據是聯機存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數據並允許用戶操縱的方式。

模型
模型表示企業數據和業務規則。在MVC的三個部件中,模型擁有最多的處理任務。例如它可能用象EJBs和ColdFusion Components這樣的構件對象來處理資料庫。被模型返回的數據是中立的,就是說模型與數據格式無關,這樣一個模型能為多個視圖提供數據。由於應用於模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性。

控制器
控制器接受用戶的輸入並調用模型和視圖去完成用戶的需求。所以當單擊Web頁面中的超鏈接和發送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接收請求並決定調用哪個模型構件去處理請求,然後用確定用哪個視圖來顯示模型處理返回的數據。

現在我們總結MVC的處理過程,首先控制器接收用戶的請求,並決定應該調用哪個模型來進行處理,然後模型用業務邏輯來處理用戶的請求並返回數據,最後控制器用相應的視圖格式化模型返回的數據,並通過表示層呈現給用戶。

三、為什麼要使用 MVC

大部分Web應用程序都是用像ASP,PHP,或者CFML這樣的過程化語言來創建的。它們將像資料庫查詢語句這樣的數據層代碼和像HTML這樣的表示層代碼混在一起。經驗比較豐富的開發者會將數據從表示層分離開來,但這通常不是很容易做到的,它需要精心的計劃和不斷的嘗試。MVC從根本上強制性的將它們分開。盡管構造MVC應用程序需要一些額外的工作,但是它給我們帶來的好處是無庸質疑的。

首先,最重要的一點是多個視圖能共享一個模型,正如我所提及的,現在需要用越來越多的方式來訪問你的應用程序。對此,其中一個解決之道是使用MVC,無論你的用戶想要Flash界面或是 WAP 界面;用一個模型就能處理它們。由於你已經將數據和業務規則從表示層分開,所以你可以最大化的重用你的代碼了。

由於模型返回的數據沒有進行格式化,所以同樣的構件能被不同界面使用。例如,很多數據可能用HTML來表示,但是它們也有可能要用Macromedia Flash和WAP來表示。模型也有狀態管理和數據持久性處理的功能,例如,基於會話的購物車和電子商務過程也能被Flash網站或者無線聯網的應用程序所重用。

因為模型是自包含的,並且與控制器和視圖相分離,所以很容易改變你的應用程序的數據層和業務規則。如果你想把你的資料庫從MySQL移植到Oracle,或者改變你的基於RDBMS數據源到LDAP,只需改變你的模型即可。一旦你正確的實現了模型,不管你的數據來自資料庫或是LDAP伺服器,視圖將會正確的顯示它們。由於運用MVC的應用程序的三個部件是相互對立,改變其中一個不會影響其它兩個,所以依據這種設計思想你能構造良好的松偶合的構件。

對我來說,控制器的也提供了一個好處,就是可以使用控制器來聯接不同的模型和視圖去完成用戶的需求,這樣控制器可以為構造應用程序提供強有力的手段。給定一些可重用的模型和視圖,控制器可以根據用戶的需求選擇模型進行處理,然後選擇視圖將處理結果顯示給用戶。

四、MVC的缺點
MVC的缺點是由於它沒有明確的定義,所以完全理解MVC並不是很容易。使用MVC需要精心的計劃,由於它的內部原理比較復雜,所以需要花費一些時間去思考。

你將不得不花費相當可觀的時間去考慮如何將MVC運用到你的應用程序,同時由於模型和視圖要嚴格的分離,這樣也給調試應用程序到來了一定的困難。每個構件在使用之前都需要經過徹底的測試。一旦你的構件經過了測試,你就可以毫無顧忌的重用它們了。

根據我個人經驗,由於我們將一個應用程序分成了三個部件,所以使用MVC同時也意味著你將要管理比以前更多的文件,這一點是顯而易見的。這樣好像我們的工作量增加了,但是請記住這比起它所能帶給我們的好處是不值一提。

MVC並不適合小型甚至中等規模的應用程序,花費大量時間將MVC應用到規模並不是很大的應用程序通常會得不償失。

五、MVC優點:MVC是一條創建軟體的好途徑
MVC設計模式是一個很好創建軟體的途徑,它所提倡的一些原則,像內容和顯示互相分離可能比較好理解。但是如果你要隔離模型、視圖和控制器的構件,你可能需要重新思考你的應用程序,尤其是應用程序的構架方面。如果你肯接受MVC,並且有能力應付它所帶來的額外的工作和復雜性,MVC將會使你的軟體在健壯性,代碼重用和結構方面上一個新的台階。
希望對您有所幫助!~

3. 什麼是 MVC 模式

什麼是 MVC 模式
MVC(模型Model-視圖View-控制器Controller)是一種設計模式,
M(Model)在Java Web里說的是JavaBean,在JavaBean中除了其屬性和欄位,還可以有行為及其事件,JavaBean可以理解為普通Java對象。Java普通對象,就是符合Java規范的所有對象,這和實體類完全是兩回事。業務邏輯和數據訪問應該放在Model層,也就是V負責展示數據,Controler除了轉發不做業務邏輯。真正的邏輯事務,數據訪問,甚至演算法都放到Model去。
Controller是控制器的意思,所謂控制器,就是將用戶請求轉發給模型層,經過處理後把結果返回到界面層展現的一個中間層,那麼Controller到底管什麼工作呢?先不說.先來看下在Java Web中這三個層一般的定義,一般在Java Web里,JSP充當V,Servlet充當C,JavaBean充當M,這里的Servlet管什麼工作呢?接受輸入,轉到Model層去處理,處理結果保存後轉發到JSP,然後展現數據。所以它的功能就是控制器的基本功能,它就管轉發,在V和M之間轉來轉去。
MVC沒有把業務的邏輯訪問看成兩個層,這是採用三層架構或MVC搭建程序最主要的區別。當然了。在三層中也提到了Model,但是三層架構中Model的概念與MVC中Model的概念是不一樣的,「三層」中典型的Model層是已實體類構成的,而MVC里,則是由業務邏輯與訪問數據組成的。

4. java中的mvc模式

MVC模式是"Model-View-Controller"的縮寫,中文翻譯為"模式-視圖-控制器"。MVC應用程序總是由這三個部分組成。Event(事件)導致Controller改變Model或View,或者同時改變兩者。只要Controller改變了Models的數據或者屬性,所有依賴的View都會自動更新。類似的,只要Controller改變了View,View會從潛在的Model中獲取數據來刷新自己。MVC模式最早是smalltalk語言研究團提出的,應用於用戶交互應用程序中。smalltalk語言和java語言有很多相似性,都是面向對象語言,很自然的SUN在petstore(寵物店)事例應用程序中就推薦MVC模式作為開發Web應用的架構模式。MVC模式是一種架構模式,其實需要其他模式協作完成。在J2EE模式目錄中,通常採用service to worker模式實現,而service to worker模式可由集中控制器模式,派遣器模式和Page Helper模式組成。而Struts只實現了MVC的View和Controller兩個部分,Model部分需要開發者自己來實現,Struts提供了抽象類Action使開發者能將Model應用於Struts框架中。
MVC模式是一個復雜的架構模式,其實現也顯得非常復雜。但是,我們已經總結出了很多可靠的設計模式,多種設計模式結合在一起,使MVC模式的實現變得相對簡單易行。Views可以看作一棵樹,顯然可以用Composite Pattern來實現。Views和Models之間的關系可以用Observer Pattern體現。Controller控制Views的顯示,可以用Strategy Pattern實現。Model通常是一個調停者,可採用Mediator Pattern來實現。
現在讓我們來了解一下MVC三個部分在J2EE架構中處於什麼位置,這樣有助於我們理解MVC模式的實現。MVC與J2EE架構的對應關系是:View處於Web Tier或者說是Client Tier,通常是JSP/Servlet,即頁面顯示部分。Controller也處於Web Tier,通常用Servlet來實現,即頁面顯示的邏輯部分實現。Model處於Middle Tier,通常用服務端的javaBean或者EJB實現,即業務邏輯部分的實現。

5. java MVC設計模式

差不多吧,根據公司不同,分的層數也不同,但是MVC三個主層視圖層,控制層,模型層肯定是沒錯的。再細分比如視圖層可以包含JSP,FORM表單Bean等等。控制層里可以是Servlet,action,主要是接收視圖層的數據,調用模型層方法的。模型層可以包含業務層,接收控制層傳來的數據,調用持久化層。持久化層就是普通類不屬於MVC三層之中,主要寫關於資料庫的語句,由於它是對資料庫操作使用的,所以需要寫。其他的,比如DTO層,就是用來封裝數據的。MVC之間傳值用的,不屬於MVC。FORM表單Bean,是用來驗證表單信息的,跟JS差不多,但是JS是在客戶端驗證表單信息,不安全,表單Bean是在伺服器端,能安全一些。等等。

6. mvc模式中的c在java web項目中是指

C指的是控制器。在Java Web中,我們一般以MVC進行Web開發,其中M指的是模型;V指的是視圖;C指的是控制器。

7. Java Web的MVC模式是什麼

MVC利用你說的三大框架 一般情況來說 M就是model 主要是servlet代碼負責邏輯性的代碼, V就是view主要是jsp代碼顯示頁面,c是control 主要是負責配置性的代碼 如xxx.xml。

8. 在JavaWeb中mvc是不是在[表現層,邏輯層,持久層]裡面的表現層

四層架構:
展示層(web層)、業務邏輯層、數據訪問層、信息資源層
四層架構在是開發企業應用時使用的非常經典的劃分模式。
web層負責前端展示和用戶請求的處理。mvc是一個設計模式,主要用戶構建用戶界面,目的是把展示邏輯和邏輯分離。web層通常會使用MVC模式進行構建,經常使用的mvc框架包括spring mvc,struts等,都是在web層或者展示層使用的。
業務邏輯層一般應用中會有一層service抽象,實現核心業務邏輯,事務控制也在這一層實現。
數據訪問層也即層,重點負責資料庫訪問,完成持久化功能。
信息資源層主要服務資源的存儲。
所以mvc和四層(三層)結構有關系,四層架構是應用的體系(分層)結構,描述了整個應用的一個完整的劃分,而mvc是一個設計模式,通常會用於四層架構的展示層的構建上。希望我能講清楚。

9. java web mvc 框架有哪些

框架不是一開始就有的。在java
web開發的世界裡,最開始就只有一個可用的servlet
API,你要開發web應用,就只能靠它了;
就單單這個簡陋的API,開發起來,實在是捉襟見肘。於是在一個個前赴後繼的'先烈'往這個坑裡跳的同時,一部分人實在看不下去了,於是便有了所謂的框架。其實這個時候的所謂框架就是個框框,幫你解決了一部分的工作,可是還是很難用,更別談什麼解耦、擴展,吧啦吧啦滴;
MVC童鞋最開始對於Web開發者而言還不一定混的很熟,它也就是一個設計模式而已。突然某一天,某個大神發現這個東西用在Web開發上真是物盡其用啊,很好地解耦了web請求過程中的數據、業務邏輯和信息展示,而且很好地提供了各個部分的擴展性。概括起來,就是說它妙不妙,誰用誰知道啊!,這個時候,MVC與Web開發的關系迅速進入蜜月期,作為一個web開發者,聊天的時候,你都不好意思說不知道MVC。於是,各種web開發的MVC框架雨後春筍般的,往外冒...這個時期,struts是java世界中最被廣大web開發者接受的大眾情人了。
差不多與此同時,javaEE的世界還有另一個大眾情人,那就是EJB了。不過她仗著大家對她的寵愛,越來越啰嗦、拖沓,養成了不少的壞毛病。此時一個牛X哄哄的傢伙看不爽了,捧出了另一個新人-spring。這個傢伙的橫空出世,讓java世界的小夥伴們驚呆了,他是那樣的清純、優雅,令人著迷。於是,過不了一些時間,spring逐漸超越了EJB,成了java世界當之無愧的No.1大眾情人了。毫無疑問,它對web開發者展現了她獨有的,性感的一面-spring
MVC。
spring盡管光環無比閃耀,spring
MVC擁有對web開發者獨有的吸引力,但她為了擴大自己的魅力,同時與struts等老的大眾情人交好,提供友好的擴展。畢竟每個web開發者對於web
MVC框架都有自己的心頭好,每個web
MVC框架也擁有自己的粉絲。此時,在Web
MVC框架的領地基本是百花爭放,百家爭鳴了。
沒有不老的神話,也沒有絕對的大眾情人。在spring大行其道的今天,她為了吸引更多的粉絲,給自己的套上了一件又一件華麗的外衣,以期滿足所有web開發屌絲對女神的所有幻想。這樣,之前的一些粉絲,覺得spring失去了其最初的純粹,連帶spring
MVC也慢慢地不是那麼有吸引力了。這個時候,一些最開始的粉絲,開始轉移目標,以spring為原型或者依託,捧紅了像play
framework、JFinal等一些小清新了。
日子總是會一直過下去的,web開發這個世界變的太快了,也許再過幾年,spring這個大眾情人就過氣了,總會有新人出來的。這個故事的結尾,續上迅哥兒的那句話:同樣是那條路,走的人多了,就踩爛了,也許又會慢慢回歸荒蕪了。