來源:http://blog.csdn.net/baby_newstar/article/details/6753414
Structs是典型的MVC框架實現,它以JSP和Servlet作爲實現的一部分。Structs的MVC的框架如下
視圖(View):展示邏輯,主要就是頁面展示,可以理解爲展示層
模型(Model):模型一般以一個或多個JavaBean的形式存在,可以理解爲應用層。
控制(Controller):主要是servlet,另外還應包括相應的配置文件,如在structs中的structs-config.xml。可以理解爲控制層。
對於整個框架來說一般只有一個Controller用於整體業務的控制,而對應於不同業務邏輯有多個模型對其進行處理,每個模型其實就相當於一個功能模塊。另外View也可以有多個。
View比較容易理解,這裏就還不詳述了。下面就Structs中的Model和Controller進行詳細闡述:
1、Model
Struts中的模型也主要是以Bean的形式存在。主要分爲三類:FormBean、ActionBean和一般的JavaBean 或EJB。
- FormBean封裝客戶端的用戶請求信息,如表單信息,主要表現在ActionForm的子類。該模型主要用於是表單信息的提交。
- ActionBean是獲取從ActionServlet傳來的信息,其實就是獲取FormBean中的信息,並對其作相應處理。該模型主要是用於任務的分發,所以需要調用處理具體任務的JavaBean或EJB進行處理。
- JavaBean或EJB被ActionBean調用處理具體的任務。相當於任務功能處理模塊。
2、Controller
在Struts中承擔Controller作用是Servlet(ActionServlet),它提供以下功能
- 提供發送到Struts的Http請求的處理入口。
- 截取和分發請求到相應的Bean。在Struts架構中其實是將請求分發給業務邏輯(Action的子類),再由業務邏輯發送給相應的JavaBean去處理。
- 將相應的請求參數填充ActionForm(FormBean),並傳送給動作類(ActionBean)。
- 將控制權傳給後續的JSP,生成視圖。(forward)
控制邏輯是通過配置文件struts-config.xml進行配置,具體的配置在前面博文《Struts配置詳解》中有說明。