java項目的開(kāi)發是一個(gè)長期的技(jì)術(shù)過程,為(wèi)了保證程序代碼的可(kě)維護性以及程序分工,在Java中主要使用了MVC設計(jì)模式,本課程通(tōng)過JavaEE傳統架構分析了MVC設計(jì)模式的處理(lǐ)流程。
如果你(nǐ)想真正的學會(huì)Java,那(nà)麽就必須充分的理(lǐ)解MVC設計(jì)模式,你(nǐ)對于MVC設計(jì)模式的理(lǐ)解越透徹,越可(kě)以明(míng)白所有(yǒu)MVC開(kāi)發框架的設計(jì)原理(lǐ),以及當前軟件架構的核心設計(jì)思想。
以上(shàng)的操作(zuò)流程是由早先的SUN公司推出的JavaEE标準架構中的MVC設計(jì)模式,在整個(gè)的操作(zuò)過程之中,全部都是基于數(shù)據庫的方式來(lái)完成處理(lǐ)的,基本的流程如下:
1、 用戶通(tōng)過浏覽器(qì)發送一個(gè)HTTP請(qǐng)求,該請(qǐng)求會(huì)被一個(gè)控制(zhì)器(qì)接收到;
2、 用戶的每一次請(qǐng)求實際上(shàng)都需要處理(lǐ)一些(xiē)核心的操作(zuò)業務,例如:是需要獲取那(nà)些(xiē)資源,肯定發出請(qǐng)求,那(nà)麽需要進行(xíng)資源的加載,這個(gè)加載的操作(zuò)就屬于你(nǐ)的核心業務;
3、 在JavaEE之中所有(yǒu)的業務處理(lǐ)都被EJB包辦了,EJB實現了一個(gè)完整的業務中心;
4、 不管如何進行(xíng)業務的操作(zuò),大(dà)部分的業務都是圍繞着關系型數(shù)據庫展開(kāi)的,假設說現在要實現一個(gè)數(shù)據的列表顯示業務,那(nà)麽此時(shí)一定要進行(xíng)數(shù)據庫的查詢(SELECT … FROM …;),數(shù)據庫實際上(shàng)屬于數(shù)據的持久化存儲,所以也被稱為(wèi)持久層;
5、 考慮到分層的設計(jì),肯定不能夠将真實的數(shù)據直接返回,需要将所有(yǒu)的數(shù)據封裝一下;
6、 最終肯定是需要将數(shù)據展現給開(kāi)發者,那(nà)麽就需要通(tōng)過JSP生(shēng)成相應的HTML代碼,并且在浏覽器(qì)中進行(xíng)顯示;
JavaEE的架構随着技(jì)術(shù)的不斷發展始終都在改變,但(dàn)是在整個(gè)Java項目的開(kāi)發中有(yǒu)一個(gè)核心的設計(jì)模式始終沒有(yǒu)改變,那(nà)就是MVC(Model-View-Controller)設計(jì)模式,該模式可(kě)以将程序的結構進行(xíng)有(yǒu)效的層次劃分,使得(de)每一層都有(yǒu)專門(mén)的開(kāi)發者進行(xíng)維護,達到良好的分工合作(zuò)。