日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

JavaEE概述及MVC模型

 Architect_home 2019-04-03

寫這篇文章之前,參考了好多別人的文章,還有我的一些想法,與大家共勉。

1.JavaEE基本概念:

(1)官方定義:JavaEE 是一個開發(fā)分布式企業(yè)級應(yīng)用的規(guī)范和標(biāo)準(zhǔn)。
(2)原名J2EE,JavaEE應(yīng)該是J2EE的延伸。
(3)J2EE是一個標(biāo)準(zhǔn),這個標(biāo)準(zhǔn)不僅定義了基本的規(guī)范和接口,也有一些比較固定的架構(gòu)模型。
(4)J2EE使用多層的分布式應(yīng)用模型,應(yīng)用邏輯按功能劃分為組件,各個應(yīng)用組件根據(jù)他們所在的層分布在不同的機(jī)器上。

2.JavaEE的技術(shù)內(nèi)容:

表示層技術(shù):

HTML
JavaScript
Ajax:主要功能是異步的向服務(wù)器發(fā)送請求

中間層技術(shù):

Jsp:顯示動態(tài)內(nèi)容的服務(wù)器網(wǎng)頁。

servelet:接受客戶端請求,并作出響應(yīng)的Java程序。servelet是中間層技術(shù)的重要組成部分,控制著其他組件。

JavaBean:JavaEE的模型組件。

Struts2:擴(kuò)展了servlet。

數(shù)據(jù)庫技術(shù):

JDBC:(Java DataBase Connectivity)連接并且操作數(shù)據(jù)庫。

hibernate:數(shù)據(jù)層框架技術(shù),提供了以對象的形式操作關(guān)系型數(shù)據(jù)庫的功能。

3.JavaEE包含13種技術(shù):

WebService ,Struts,hibernate,spring,Jsp,Servler,JJSF,EJB,JDBC,JNDI,XML,JavaSE

4.JavaEE體系結(jié)構(gòu)(三層結(jié)構(gòu)):

三層結(jié)構(gòu):

 表現(xiàn)層(UI):展現(xiàn)給用戶的界面。

 業(yè)務(wù)邏輯層(BLL):對數(shù)據(jù)層的操作,對數(shù)據(jù)業(yè)務(wù)邏輯處理。

 數(shù)據(jù)訪問層(DAL):操作數(shù)據(jù)庫,針對數(shù)據(jù)的增添、刪除、修改、更新、查找等。

三層結(jié)構(gòu)的目的

1.提供程序的可擴(kuò)展性,一般需要將表示與業(yè)務(wù)邏輯分離,業(yè)務(wù)邏輯和數(shù)據(jù)處理分離。

2.為了“高內(nèi)聚,低耦合“的思想。
 注意:(內(nèi)聚:一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度;耦合:一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量)。

三層結(jié)構(gòu)的優(yōu)點

1、開發(fā)人員可以只關(guān)注整個結(jié)構(gòu)中的其中某一層;  

2、可以很容易的用新的實現(xiàn)來替換原有層次的實現(xiàn);  

3、可以降低層與層之間的依賴;

4、有利于標(biāo)準(zhǔn)化;
 
5、利于各層邏輯的復(fù)用。

6、擴(kuò)展性強。不同層負(fù)責(zé)不同的層面,如PetShop可經(jīng)過簡單的配置實現(xiàn)Sqlserver和oracle之間的轉(zhuǎn)換,當(dāng)然寫好了也可以實現(xiàn)B/S與C/S之間的轉(zhuǎn)換。

7、安全性高。用戶端只能通過邏輯層來訪問數(shù)據(jù)層,減少了入口點,把很多危險的系統(tǒng)功能都屏蔽了。

8、項目結(jié)構(gòu)更清楚,分工更明確,有利于后期的維護(hù)和升級

三層結(jié)構(gòu)的缺點:

1、降低了系統(tǒng)的性能。這是不言而喻的。如果不采用分層式結(jié)構(gòu),很多業(yè)務(wù)可以直接造訪數(shù)據(jù)庫,以此獲取相應(yīng)的數(shù)據(jù),如今卻必須通過中間層來完成。

2、有時會導(dǎo)致級聯(lián)的修改。這種修改尤其體現(xiàn)在自上而下的方向。如果在表示層中需要增加一個功能,為保證其設(shè)計符合分層式結(jié)構(gòu),可能需要在相應(yīng)的業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層中都增加相應(yīng)的代碼。

3、增加了代碼量,增加了工作量。

經(jīng)驗:
小項目,以后變動不大的不用三層結(jié)構(gòu)。
三層結(jié)構(gòu)的最大優(yōu)點是它的安全性。

5.MVC模型:

1.組成:

MVC是模型(model)、視圖(view)、控制(controller)這三個單詞上的首字母組成。

2.目的:

為了進(jìn)一步提高程序的可擴(kuò)展性,復(fù)用性,真正實現(xiàn)表現(xiàn)層和業(yè)務(wù)邏輯層分離——控制器是為了實現(xiàn)上述而存在的。

3.與三層結(jié)構(gòu)的對應(yīng)關(guān)系:

模型層(model)實現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯,通常JavaBean實現(xiàn)。

視圖層(view)用于與用戶交互,通常JSP實現(xiàn)。

控制層(controller)是模型層和視圖層溝通的橋梁。

4.典型模式:

MVC最典型的模式就是:Jsp+servelet+JavaBean模式。

5.處理過程:

MVC的處理過程:對于每一個用戶輸入的請求,首先被控制器接收,控制器決定用哪個模型來進(jìn)行處理,然后模型通過業(yè)務(wù)邏輯層處理用戶的請求并返回數(shù)據(jù),最后控制器確定用哪個視圖模型,用相應(yīng)的視圖格式化模型返回數(shù)據(jù),并通過顯示頁面呈現(xiàn)給用戶。
MVC的處理過程

6.MVC模型的好處:

低耦合性(視圖層和業(yè)務(wù)層分離);

高重用性和可適用性(允許不同式樣的視圖訪問同一個服務(wù)器端的代碼,比如web的HTTP瀏覽器和無線瀏覽器WAP);

較低的生命周期成本(開發(fā)和維護(hù)用戶接口的技術(shù)含量降低);

部署快速(不同部件的開發(fā)人員專注于自己那個模塊);

可維護(hù)性(分離視圖層和業(yè)務(wù)邏輯層使Web應(yīng)用更易于維護(hù)和修改);

有利于軟件工程化管理(由于采用分層的思想);

這里寫圖片描述

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多