當我進行第一個完整的java web項目的開發時,對以前所學的Java web知識體系有了一個清晰的進階認識。我覺得非常有必要對此進行必要的總結。
MVC,意指model(模型層)+view(視圖層)+control(控制層)的基本開發組合模式。
MVC的開發優勢是非常明顯的,model層由javaBean等主要組成,拿一個模塊來說,JavaBean是一個專門用來存儲數據的庫,其實例對象通過set..()方法寫入數據,通過get..()方法拿取數據,這一塊是獨立的,任何其他程序通過調包都可以用其實例對象來存取數據。
view層是視圖層,用來表達內容,jsp頁面是在html頁面中加入了可以解釋java代碼的“編譯器”,使jsp頁面可以在表達內容的基礎上也擁有了處理業務邏輯的能力。當JSP頁面有可以處理數據的能力后,它可以接收來自其他頁面或程序傳來的數據,并將這些數據顯示出來,為了更好更方便表達數據內容,又為其提供了el與jstl標簽,這些標簽可以存取服務器上各種域內的屬性等內容,常見的域有“request,session,application,response”,每個域的生命周期是不一樣的,要想準確存取值,就要對域的生命周期了解清楚,這里需要提醒的是。jsp頁面也可以處理業務邏輯,所以意味著它可以替代處理控制層的事情,但這樣就有悖于簡潔高效清晰的理念(就像html與CSS和js一樣),并且會顯得視圖層混亂與臃腫,不利于再次開發與維護。
control層是控制層,它一般在web中由servlet文件實現,它從JavaBean和各域中提取數據,對數據做邏輯處理,完成相關功能,對得到的數據通過域的屬性和域的生命周期的特性向視圖層傳去所需數據。控制層是MVC的靈魂所在,是最關鍵的地方,因為業務在這里處理實現。說到底,就是在這里進行Java程序設計。但在實際開發中,為了進一步簡化servlet,開發人員們弄出了很多開發模式,這里以工廠方法為例,開發人員面向接口開發,具體過程是:
首先,確定有哪些模塊,為每個模塊定義一個接口(DAO),接口內設計該模塊實現所需的抽象的方法;
然后,定義一個借口實現類(DAOImpl),在里面設計與實現DAO層里的所有抽象方法。
這樣,在servlet文件中只需調用這個實現類里的方法,就可以實現相關功能,不用再去做具體設計。
另外,為每個接口設計一個工廠(Factory)類,其中定義static方法返回一個接口實現類的實例對象,即每次用工廠類名調用這個靜態方法及能生產出一個實現接口的實例對象來,形似工廠,所以稱為工廠方法。
新聞熱點
疑難解答