Java項目開發之MVC結構

MVC,"Model-View-Controller",即"模型-視圖-控制器"。在J2EE應用程序中,視圖(View)可能由JavaServerPage(JSP)承擔;控制器(Controller)可能是一個servlet,現在一般用Struts實現;模型(Model)則是由一個實體Bean來實現。其結構特點:

web主要是客戶端網頁,是表層的東西,可接收和返回數據給用戶。

domain主控制層,是用戶與數據庫交互的核心中轉站,控制用戶數據收集,控制請求轉向。
service是業務邏輯層,處理數據邏輯,驗證數據。
dao是持久層,讀寫數據庫。

web發出請求---domain接收控制數據轉向(可以返回也可以進入service)---service驗證數據正確性或者是否符合業務要求---dao存入,讀出,依次返回。


“DOMAIN層”是範圍,界線,也被用來批一個變量的有效作用域。也常用這個詞做一個包,然後在裏面放些DAO類文件。

“DB層”,這一層存放了鏈接數據庫的字符串,以及JdbcTemplate類,直接訪問數據庫。因爲在java中,
執行SQL語句的函數按照返回值可以分爲三類,所以在這一層定義了JDBC模版類(JdbcTemplate),每一
次使用操作數據庫時都要執行這一層的三個方法其中一個。

“DAO層(Data AccessObject數據訪問對象層)”,是後臺實現業務邏輯的java類,這一層存放了SQL語句(並
不執行SQL語句,語句傳給DB層執行)。這一層調用“DB層”訪問數據庫,它只知道“DB層”的存在,不知道數
據庫的存在。軟件開發過程中 系統的設計開發一般分層設計,一般分爲表現層、控制層、業務邏輯層、數據
層,以此實現軟件層次結構分離,各司其職。

“SERVICE層”,業務邏輯層,因爲一個業務的實現,並不是一次數據庫訪問就可以完成的,所以這一層
通過N次調用“DAO層的方法”實現業務邏輯,它只知道“DAO層”的存在,不知道“DB層”和數據庫的存
在。

“ACTION層”,調用業務邏輯層,根據返回的結果,控制JSP頁面顯示。它只知道業務層的存在。這一層
是入侵者的攻擊平臺。

“Form層”,把用戶POST提交的信息封裝成Form對象,經過驗證後提交給ACTION層處理。

“JSP層”(顯示層),這一層是最終顯示給用戶看的頁面,同時也是入侵者的攻擊平臺。

用戶通過訪問ACTION層,自動會發生:“ACTION調用SERVICE,SERVICE調用DAO,DAO調用DB,DB執行SQL
語句返回結果給DAO,DAO返回給SERVICE,SERVICE返回給ACTION,ACTION把數據顯示到JSP裏返回給用戶”。

鏈接:http://413526408-qq-com.iteye.com/blog/890155
     http://dysfzhoulong.iteye.com/blog/731749


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章