2009年4月29日 星期三

使用 JAVA + Spring 撰寫 WEB MVC 程式

早期在寫 PHP、JSP 程式時,美工畫的 HTML、JSP 及 PHP 的程式 code、SQL Command 全部寫在同一支網頁程式中,網頁程式通常又臭又長。在2008年的8月接觸到 WEB MVC 的新觀念後,展開了為期8個多月的 WEB 程式觀念改寫的陣痛期,和大家分享 Spring 2.0 的學習心得:
MVC(Model-View-Controller,模型—檢視—控制器模式)用於表示一種軟體架構模式。它把軟體系統分為三個基本部分:模型(Model),檢視(View)和控制器(Controller)。

簡單的說;
模型 (Model)  即資料庫語言,處理與資料庫有關的SQL Command
檢視 (View)  即網頁,由美術人員進行網頁外觀美化設計
控制器 (Controller)  即程式,用來做一些企業邏輯的判斷...等等

下圖將說明 Spring MVC 的程式流程


應用程式不直接存取DAO (Data Object Access)物件,而是透過事先宣告的 DAO Interface 來間接存取資料庫的資料,讓程式與底層資料庫分離不依賴。
簡單說明 MVC 程式撰寫步驟:
1. 宣告 Interface , 讓程式透過此 Interface 間接存取 DAO 物件。
2. 實作 DAO  物件,內含 SQL Command , 資料庫連結資訊...與資料庫存取有關的資訊。
3. 設定  Spring 的  XML,內含 Controller、Model 及 Viewer 互相溝通的資訊。
4. 撰寫 Controller 程式,處理企業邏輯及利用 DAO 物件來存取資料庫的資料,並將結果回傳到前端網頁。
因為在 Spring 已經設定資料庫的連結位置、連結帳號密碼、DAO 物件的位置、Controller 物件的位置及要用那一個網頁 (Viewer) 來顯示,所以 Spring 會自動作 Model、Controller、Viewer這些物件的呼叫引用動作,不必自己寫程式來使用物件。
以上是小弟用簡單白話的方式來敘述用 Spring 實作 WEB MVC 程式的原理,省略很多專有名詞及細節,詳細說明可以參考 Spring 2.0 技術手冊 / 林信良著,相當不錯用的教學手冊喔
Related Posts Plugin for WordPress, Blogger...