79、概述struts,以及struts如何實現MVC架構的?

Unknown To Known發表於2020-12-01

79、概述struts,以及struts如何實現MVC架構的?
JAVA面試問題及答案大全

struts framework是一種基於java的技術,Web應用程式開發人員通過struts framework即可充分利用面向對
象設計、程式碼重用以及“編寫一次、到處執行”的優點。Struts提供了一種建立Web應用程式的框架,其中對應用
程式的顯示、表示和資料的後端程式碼進行了抽象。Struts採用jsp作為MVC的檢視,由ActionServlet具體指定的
action動作類作為控制器即MVC中的C,負責檢視與模型之間的互動。控制器的每個入口點都由名為struts-
config.xml的配置檔案設定。該檔案把來自檢視的請求對映為特定的JAVA類以進行相應的處理,控制器還指定
下一個檢視的位置。Struts中的模型主要指的就是javabean,它是模型的代表,主要封裝資料和業務邏輯。

Struts的處理流程:
         控制器進行初始化工作,讀取配置檔案,為不同的Struts模組初始化相應的ModulConfig物件。
         控制器接收Http請求,並從ActionConfig中找出對應於該請求的Action子類,如果沒有對應的
         	Action,控制器直接將請求轉發給JSP或者靜態頁面,否則控制器將請求分發至具體的Action類
         	進行處理。
         在控制器呼叫具體的Action的Execute方法之前,ActionForm物件將利用Http請求中的引數來填充自
         	已。還可以在ActionForm類中呼叫Validate方法來檢查請求引數的合法性,並且可以返回一個包
         	含所有錯誤資訊的ActionErrors物件。
         
執行具體的的Execute的方法,它負責執行相應的業務邏輯。執行完後,返回一個ActionForward物件,控制器
通過該ActionForward物件來進行轉發工作。也可以把Action要處理的業務邏輯封裝在JavaBean中,如果系統
中還有EJB,那麼通過JavaBean呼叫EJB以完成業務處理;如果沒有EJB,那麼就直接在JavaBean中連線資料庫
進行資料庫相關的操作。

相關文章