模型-視圖-控制器或通常被稱為 MVC,是一種用于開發(fā) web 應(yīng)用程序的軟件設(shè)計模式。模型-視圖-控制器模式由以下三個部分組成:
Model - 模式的最低層,負責維護數(shù)據(jù)。
View - 負責顯示全部或部分的數(shù)據(jù)給用戶。
MVC 是受歡迎的,是因為它把應(yīng)用邏輯從用戶接口層中分離,而且支持關(guān)注點的分離。在這里,控制器接收應(yīng)用程序的所有請求,然后與模型一起工作準備好視圖需要的任何數(shù)據(jù)。然后視圖使用控制器準備好的數(shù)據(jù)來生成最終正式的響應(yīng)。MVC 抽象可以用圖形表示,如下所示。
http://wiki.jikexueyuan.com/project/struts-2/images/struts-mvc.jpg" alt="" />
模型負責管理應(yīng)用程序的數(shù)據(jù)。它響應(yīng)來自視圖的請求,而且它也響應(yīng)來自控制器的指令進行更新自身。
在一個特定格式中數(shù)據(jù)的展示由一個控制器的決定引發(fā)來呈現(xiàn)該數(shù)據(jù)。它們是基于模板系統(tǒng)的腳本,如 JSP,ASP,PHP,而且它們很容易與 AJAX 技術(shù)進行集成。
控制器負責響應(yīng)用戶的輸入和執(zhí)行數(shù)據(jù)模型對象的交互??刂破鹘邮蛰斎?,驗證輸入,然后執(zhí)行修改數(shù)據(jù)模型狀態(tài)的業(yè)務(wù)操作。
Struts 2 是一個基于 MVC 的框架。在接下來的章節(jié)中,我們會看到如何使用包含 Struts 2 的 MVC 方法。