建議 樓主了解下MVC
專注于為中小企業提供成都網站設計、網站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業羅山免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了上千多家企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。
一般的項目大概分為4層
dao 就是數據操作層
一般放對數據庫進行操作的方法,比如查找某條數據
biz 業務處理層
對用戶的數據進行業務邏輯處理比如注冊時,判斷用戶注冊的用戶名是否已存在,如果已存在返回用戶錯誤信息,否則將用戶注冊的信息寫入數據庫
servlet 邏輯判斷層
對頁面的請求響應數據進行邏輯處理,如封裝等
jsp 表現層
將程序處理的最終結果顯示給用戶
他們之間的聯系就是,比如注冊:
用戶在jsp頁面進行表單填寫,點擊提交到一個servlet,servlet將注冊信息封裝成javaBean交給biz層處理,這時候biz層對javaBean解封將用戶注冊的用戶名提取出來調用dao層的checkUserName()進行判斷該用戶名是否已存在.如果存在返回一個信息給servlet告知用戶該用戶名已存在,請重新注冊.如果該用戶名不存在,說明可注冊,biz再調用dao層的savaUser()方法將用戶的注冊信息寫入數據庫,返回servlet一個注冊成功的信息,最后由servlet將這些處理的最終結果返回給jsp頁面給用戶.
建議樓主去多看看別人的項目,或者自己寫些小項目這樣在寫程序的過程中能更貼切的理解這些過程存在的意義
總之,分層思想的存在是更方便的管理和維護
表現層
jsp:頁面渲染
servlet:接收用戶數據()調用業務,接收業務傳來的數據,頁面跳轉,傳遞數據。
業務層
service:接受servlet傳入數據,進行業務規則處理,調用dao,接受dao返回的數據,向servlet返回數據。
持久化層
dao:接受業務傳入數據,進行對數據庫進行增刪改查,得到的數據向業務層返回。
你好,你的問法本身有些不妥,dao就屬于應用中的一層。可能你想說的是以下的情況:
初級DAO模式:
例如::寫一個類 操作1張表 針對這張表的所有操作都以方法的形式寫在這個類中 1個操作對應1個方法要求是外部通過調用這個類的方法達到操作某張表的目的時不需要寫任何和數據庫以及JDBC相關的代碼,這個類的命名就是XXDAO
比如表叫做 t_goods 商品表那么操作它的DAO就叫GoodsDAO
高級DAO模式:
例如:即DAO工廠模式,多個XXDAO實現同一個接口或者繼承同一個基類,編寫一個工廠類通過工廠模式(簡單工廠模式或利用反射動態加載均可)獲得接口或基類對象,內部實際上封裝返回的是具體的XXDAO類的對象。簡單的說即是在1的基礎上將創建具體的XXDAO對象的方式由new變為工廠模式實現
例如:UserDAO dao = DAOFactory.create(...);
dao.save()
dao.delete....
基本的分層,就是mvc,你可以查一下這方面的資料,當然,根據需要也有不同的分層思路,比如有的項目重效率,有的項目重流程,側重點不同,所以分的層次不同但基本的就是mvc了,然后在往上面延伸,出現了什么業務層之類的……
com.action一般你的網站是action.com才這樣命名的
dao一般是存放和數據庫打交道的接口
daoImpl一般是放dao里面那些接口的實現的
沒有統一的模板,不同項目,不同架構師出來的可能都不一樣。
MVC模式。
Model模式層
View視圖層
Controller控制器
視圖(View)代表用戶交互界面,對于Web應用來說,可以概括為HTML界面,但有可能為XHTML、XML和Applet。隨著應用的復雜性和規模性,界面的處理也變得具有挑戰性。一個應用可能有很多不同的視圖,MVC設計模式對于視圖的處理僅限于視圖上數據的采集和處理,以及用戶的請求,而不包括在視圖上的業務流程的處理。業務流程的處理交予模型(Model)處理。比如一個訂單的視圖只接受來自模型的數據并顯示給用戶,以及將用戶界面的輸入數據和請求傳遞給控制和模型。
模型(Model):就是業務流程/狀態的處理以及業務規則的制定。業務流程的處理過程對其它層來說是黑箱操作,模型接受視圖請求的數據,并返回最終的處理結果。業務模型的設計可以說是MVC最主要的核心。目前流行的EJB模型就是一個典型的應用例子,它從應用技術實現的角度對模型做了進一步的劃分,以便充分利用現有的組件,但它不能作為應用設計模型的框架。它僅僅告訴你按這種模型設計就可以利用某些技術組件,從而減少了技術上的困難。對一個開發者來說,就可以專注于業務模型的設計。MVC設計模式告訴我們,把應用的模型按一定的規則抽取出來,抽取的層次很重要,這也是判斷開發人員是否優秀的設計依據。抽象與具體不能隔得太遠,也不能太近。MVC并沒有提供模型的設計方法,而只告訴你應該組織管理這些模型,以便于模型的重構和提高重用性。我們可以用對象編程來做比喻,MVC定義了一個頂級類,告訴它的子類你只能做這些,但沒法限制你能做這些。這點對編程的開發人員非常重要。
業務模型還有一個很重要的模型那就是數據模型。數據模型主要指實體對象的數據 保存(持續化)。比如將一張訂單保存到數據庫,從數據庫獲取訂單。我們可以將這個模型單獨列出,所有有關數據庫的操作只限制在該模型中。
控制(Controller)可以理解為從用戶接收請求, 將模型與視圖匹配在一起,共同完成用戶的請求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個分發器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請求。控制層并不做任何的數據處理。例如,用戶點擊一個連接,控制層接受請求后, 并不處理業務信息,它只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶。因此,一個模型可能對應多個視圖,一個視圖可能對應多個模型。
模型、視圖與控制器的分離,使得一個模型可以具有多個顯示視圖。如果用戶通過某個視圖的控制器改變了模型的數據,所有其它依賴于這些數據的視圖都應反映到這些變化。因此,無論何時發生了何種數據變化,控制器都會將變化通知所有的視圖,導致顯示的更新。這實際上是一種模型的變化-傳播機制。模型、視圖、控制器三者之間的關系和各自的主要功能,如圖1所示。
網站題目:java如何講解代碼分層,編程語言的分層分類
文章網址:http://vcdvsql.cn/article36/hshipg.html
成都網站建設公司_創新互聯,為您提供微信小程序、、網站制作、動態網站、網站設計公司、全網營銷推廣
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯