成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談Java Web經典三層架構和MVC框架模式

開發 架構
首先我們需要知道MVC模式并不是javaweb項目中獨有的,MVC是一種軟件工程中的一種軟件架構模式,把軟件系統分為三個基本部分:模型(Model)、視圖(View)和控制器(Controller),即為MVC。

 一、MVC設計模式

1.MVC的概念

首先我們需要知道MVC模式并不是javaweb項目中獨有的,MVC是一種軟件工程中的一種軟件架構模式,把軟件系統分為三個基本部分:模型(Model)、視圖(View)和控制器(Controller),即為MVC。它是一種軟件設計的典范,最早為Trygve Reenskaug提出,為施樂帕羅奧多研究中心(Xerox PARC)的Smalltalk語言發明的一種軟件設計模式。

[[271839]]

2.MVC的詳解

雖然MVC并不是Java當中獨有的,但是現在幾乎所有的B/S的架構都采用了MVC框架模式,但是MVC在B/S架構中并沒有完全地實現,其實我們根本不需要掌握未實現的部分。

·控制器Controller:控制器即是控制請求的處理邏輯,對請求進行處理,負責請 求轉發;

·視圖View:視圖即是用戶看到并與之交互的界面,比如HTML(靜態資源),JSP(動態資源)等等。

·模型Model:模型代表著一種企業規范,就是業務流程/狀態的處理以及業務規則的規定。業務流程的處理過程對其他層來說是不透明的,模型接受視圖數據的請求,并返回最終的處理結果。業務模型的設計可以說是MVC的核心。

3.MVC模式的用武之地

MVC模式被廣泛用于Java的各種框架中,比如Struts2、Spring MVC等等都用到了這種思想。

Struts2是基于MVC的輕量級的web應用框架。基于MVC,說明基于Struts2開發的Web應用自然就能實現MVC,也說明Struts2著力于在MVC的各個部分為我們的開發提供相應幫助。

二、Javaweb經典三層架構

1.Javaweb經歷了三個時期

①JSP Model1第一代

JSP Model1是JavaWeb早期的模型,它適合小型Web項目,開發成本低!Model1第一代時期,服務器端只有JSP頁面,所有的操作都在JSP頁面中,連訪問數據庫的API也在JSP頁面中完成。也就是說,所有的東西都耦合在一起,對后期的維護和擴展極為不利。

淺談Javaweb經典三層架構和MVC框架模式

②JSP Model1第二代

JSP Model1第二代有所改進,把業務邏輯的內容放到了JavaBean中,而JSP頁面負責顯示以及請求調度的工作。雖然第二代比第一代好了些,但還讓JSP做了過多的工作,JSP中把視圖工作和請求調度(控制器)的工作耦合在一起了。

淺談Javaweb經典三層架構和MVC框架模式

③JSP Model2

JSP Model2模式已經可以清晰的看到MVC完整的結構了。

·JSP:視圖層,用來與用戶打交道。負責接收用來的數據,以及顯示數據給用戶;

·Servlet:控制層,負責找到合適的模型對象來處理業務邏輯,轉發到合適的視圖;

JavaBean:模型層,完成具體的業務工作,例如:開啟、轉賬等。

淺談Javaweb經典三層架構和MVC框架模式

這就是javaweb經歷的三個年代,JSP Model2適合多人合作開發大型的Web項目,各司其職,互不干涉,有利于開發中的分工,有利于組件的重用。但是,Web項目的開發難度加大,同時對開發人員的技術要求也提高了。

2.JavaWeb經典三層框架

我們常說的三層框架是由JavaWeb提出的,也就是說這是JavaWeb獨有的!

所謂三層是表述層(WEB層)、業務邏輯層(Business Logic),以及數據訪問層(Data Access)。

·WEB層:包含JSP和Servlet等與WEB相關的內容;

·業務層:業務層中不包含JavaWeb API,它只關心業務邏輯;

·數據層:封裝了對數據庫的訪問細節;

注意,在業務層中不能出現JavaWeb API,例如request、response等。也就是說,業務層代碼是可重用的,甚至可以應用到非Web環境中。業務層的每個方法可以理解成一個萬能,例如轉賬業務方法。業務層依賴數據層,而Web層依賴業務層!

淺談Javaweb經典三層架構和MVC框架模式

注:網上很多人在討論MVC究竟是一種框架模式還是一種設計模式(百度百科中強行解釋其為一種框架模式而不是一種設計模式),雖然Java中的23種設計模式里并沒有MVC,但是我認為討論這個問題沒有太大的必要。我們大可將他作為一種思想,我們需要做的僅僅是理解它,應用它,掌握其中的思想,這才是我們需要做的。

 

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2009-04-30 09:15:25

三層結構MVC架構

2009-07-28 15:08:50

MVC三層架構實例

2009-04-30 15:56:50

三層架構MVCMVP

2009-09-23 17:29:54

三層框架

2012-02-07 10:40:13

MVCJava

2015-07-02 10:57:11

General框架架構開發

2012-02-03 09:44:33

.NET

2011-04-19 13:53:41

三層架構

2009-04-21 11:27:52

MVCJSPJDBC

2009-05-06 09:40:04

LINQWEB開發構架

2009-08-26 18:20:42

三層架構

2013-01-09 11:00:20

架構開發三層架構.NET架構

2009-07-28 17:25:14

ASP.NET三層結構

2016-12-19 11:17:48

架構 MVC

2011-08-08 14:14:03

架構

2009-07-22 13:24:24

ASP.NET MVC

2018-10-31 14:32:53

數據中心網絡架構

2018-03-08 15:30:31

超融合架構傳統三層架構

2018-05-24 11:38:17

2018-04-24 08:47:43

超融合HCI數據中心
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美不卡 | 亚洲成人午夜电影 | 精品成人一区二区 | 国产精品乱码一区二三区小蝌蚪 | 亚洲一区免费视频 | www.青青草| 视频在线一区二区 | 亚洲精品久久久一区二区三区 | 免费的av网站 | 青草视频在线 | 国产精品一区二区久久久久 | 男女啪啪高潮无遮挡免费动态 | 91国内外精品自在线播放 | 伊人久久大香线 | 亚洲免费在线播放 | 夜夜爽99久久国产综合精品女不卡 | 亚洲欧美日韩在线 | 另类a v| 91视频进入 | 亚洲三级国产 | 国产激情第一页 | 一级片成人 | 欧美一级免费 | 国产真实精品久久二三区 | 97福利在线 | 成年人在线观看视频 | 在线成人av| 免费国产视频 | 先锋资源网站 | 99久久夜色精品国产亚洲96 | 涩爱av一区二区三区 | 91精品导航| 国产极品车模吞精高潮呻吟 | 欧美在线天堂 | 久久只有精品 | 91日韩| 成人午夜激情 | 国产剧情一区 | 亚洲一区 | 午夜影院在线观看视频 | 久久久精品|