1. 程式人生 > >SpringMVC學習筆記(1)——模型2和MVC模式

SpringMVC學習筆記(1)——模型2和MVC模式

SpringMVC框架可以幫助開發人員快速地開發MVC應用。

JavaWeb應用開發中有兩種設計模型,為了方便,分別稱為模型1和模型2。模型1是頁面中心,適合於小應用開發。而模型2基於MVC模式,是JavaWeb應用的推薦架構。

模型2

模型2基於模型-檢視-控制器(MVC)模式。一個實現MVC模式的應用包含模型、檢視和控制器3個模組。檢視負責應用的展示,模型封裝了應用的資料和業務邏輯,控制器負責接收使用者輸入、改變模型以及調整檢視的顯示。

模型2中,servlet或者filter都可以充當控制器,SpringMVC和Struts1使用一個Servlet作為控制器,而Struts2則用一個filter作為控制器。大部分都採用JSP頁面作為應用的檢視。而模型則採用POJO,它是一個普通物件,實踐中會採用一個JavaBean來持有模型狀態,並將業務邏輯放到一個Action類中。一個JavaBean必須擁有一個無參的構造器,通過get/set方法來訪問引數,同時支援持久化。

每個HTTP請求都發送給控制器,請求中的URI標識出對應的action,代表了應用可以執行的一個操作。一個提供了Action的Java物件稱為action物件,一個action類可以支援多個actions(在SpringMVC以及Struts2中)。

控制器會解析URI並呼叫相應的action,然後將模型物件放到檢視可以訪問的區域,以便服務端資料可以展示在瀏覽器上。最後,控制器利用RequestDispatcher跳轉到檢視JSP頁面,在JSP頁面中,用表示式語言以及定製標籤顯示資料。