天天看點

03Web伺服器基礎-12. JavaEE工程目錄結構及檔案說明

一個好的、清晰的目錄結構可以友善日後的維護,可以幫助維護人員快速的定位到代碼檔案;

JavaEE的項目中(大多數都是web項目),有一些在業界中耳熟能詳的術語,比如:

dao(資料通路對象):持久層,主要負責與資料庫打交道,從模式的角度來說,dao中不應該有業務邏輯;

dto(資料傳輸對象):層間傳遞參數的對象;早期,方法的參數都是直接填寫的,如:void method(int i,int j);

這種直接填寫的參數有一些不友善之處,就是參數的順序要一一對應,兩三個參數倒是能應付,要是10個,8個的話,誰都得蒙圈;是以後來提出了DTO,一個基于javabean規範的對象,用于封裝參數。另外也可以考慮使用Map來封裝參數,但用Map封裝參數的話,需要明确key的定義;

service(BO) - 服務層,又叫業務層,我個人覺得業務層比較貼切;早期有一幫人把這一層成為BO(業務對象).

該層主要是放置業務邏輯的,涉及到的資料庫操作就調用dao。有些小型系統,我個人建議可以将這層去掉,直接将業務邏輯編寫在dao層中,少一層是一層啊;

controller(action) : 這貨是mvc中的‘c’,屬于web前端,位于view與service層之間。

ok,寫到這,與java相關的都介紹完了。下邊是一些與web相關的内容:

編寫web,主要包括:html,css,javascript,images等,還有就是jsp,或者模版檔案了;

有了上邊的内容,那麼建立一個合理清晰的項目目錄就不難了;

下邊是我推薦的一個目錄結構:

這是一個标準的eclipse工程;其中自定義的目錄有:

doc - 主要存放與該項目相關的文檔,比如er圖、用例文檔、設計文檔、使用者使用手冊等等。恺哥的建議是,盡量将項目相關的東西放在一起,一并加到版本控制庫進行管理,省着到時候張三一份,李四一份,都搞不清誰的是最新版本了,更有甚的是,費了九牛二虎之力寫的文檔最後找不到了。

src - 這是存放java以及配置檔案的主要目錄,其中有:

dao / dto / test

此處的包命名規則,我個人建議是這樣:

用dao包舉例:

dao的字首,是簽名;如:net.oschina.dao。其中net.oschina就是簽名字首;

dao的字尾,是子產品名稱;如:net.oschina.dao.blog。其中blog就是子產品名稱

對于dto下邊是否還需要按照子產品進行拆包,取決于系統的規模,如果規模很大,一個子產品就有很多dto的話,那還是建議與dao的子產品名稱規則一緻,比如:net.oschina.dto.blog

為什麼沒有service層?我個人的觀點是能少一層就少一層,越簡單越好,是以我提倡将業務邏輯與資料通路做到一起,這樣也友善維護代碼的時候,用ctrl跳來跳去。

test 目錄是存放一些測試檔案

web層的目錄結構: