流行的框架之談談對Struts的理解。

對struts的理解

     struts是一個按MVC模式設計的Web層框架,其實它就是一個大大的servlet,這個Servlet名爲ActionServlet,或是ActionServlet的子類。我們可以在web.xml文件中將符合某種特徵的所有請求交給這個Servlet處理,這個Servlet再參照一個配置文件(通常爲/WEB-INF/struts-config.xml)將各個請求分別分配給不同的action去處理。

一個擴展知識點:struts的配置文件可以有多個,可以按模塊配置各自的配置文件,這樣可以防止配置文件的過度膨脹;

對於ActionServlet

ActionServlet把請求交給action去處理之前,會將請求參數封裝成一個formbean對象(就是一個java類,這個類中的每個屬性對應一個請求參數),封裝成一個什麼樣的formbean對象呢?看配置文件。

要說明的是,ActionServletformbean對象傳遞給actionexecute方法之前,可能會調用formbeanvalidate方法進行校驗,只有校驗通過後纔將這個formbean對象傳遞給actionexecute方法,否則,它將返回一個錯誤頁面,這個錯誤頁面由input屬性指定,(看配置文件)作者爲什麼將這裏命名爲input屬性,而不是error屬性,我們後面結合實際的運行效果進行分析。

action執行完後要返回顯示的結果視圖,這個結果視圖是用一個ActionForward對象來表示的,actionforward對象通過struts-config.xml配置文件中的配置關聯到某個jsp頁面,因爲程序中使用的是在struts-config.xml配置文件爲jsp頁面設置的邏輯名,這樣可以實現action程序代碼與返回的jsp頁面名稱的解耦。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章