傳智播客struts學習,struts的基本工作原理及開發步驟

       今天張老師講的struts,講的很細,也很有深度,讓人真正從原理上初步理解了struts。張老師以實際爲準,沒有從struts1.3.8講解,因爲雖然struts1.3在功能上肯定有所增強,但新產品一般都會有較多未知的bug,產品不是很穩定和經常出現一些兼容性的問題,最重要的是,公司以前開發的產品肯定不是struts1.3,其次,如果公司要開發新產品,不想使用原來的struts1.2了,想使用更好的web框架,那麼,它也不會使用struts1.3,而會使用struts2。

 

    struts的基本工作原理:先說一下MVC。MVC是module、view、controller的簡寫,module代表數據、view代表視圖、controller代表控制器,控制器接收和處理請求,產生數據,然後選擇視圖顯示數據。MVC的好處在於將處理業務的控制邏輯代碼與顯示視圖的代碼進行了分離,便於維護。struts是一個按MVC模式設計的Web層框架,其實它就是一個大大的servlet,我們可以在web.xml文件中將符合某種特徵的所有請求到交給這個Servlet處理,這個Servlet再參照一個配置文件(通常爲/WEB-INF/struts-config.xml)將各個請求分別分配給不同的action去處理。 一個請求路徑到底對應哪個Action,這是在struts-config.xml中配置的。struts-config.xml 的名稱和路徑可以在ActionServlet 的參數中進行配置,並且可以配置成多個文件,以逗號分隔。這樣可以防止配置文件的過度膨脹。ActionServlet把請求交給Action之前,會把請求參數封裝成一個formbean,當formbean校驗有問題時,就返回到錯誤提示的頁面,這個頁面通常就是前一個jsp頁面上再顯示一些錯誤信息,頁面路徑由Action的input屬性指定,沒問題時,才傳遞給Action去處理。  Action處理後返回的結果視圖用一個Actionforward對象表示,actionforward對象通過struts-config.xml配置文件中的配置關聯到某個jsp頁面,因爲程序中使用的是在struts-config.xml配置文件爲jsp頁面設置的邏輯名,這樣可以實現action程序代碼與返回的jsp頁面名稱的解耦。


    此外,Struts中提供了國際化支持和一些非常方便的標籤,使得一些頁面開發任務得到了簡化。可以結合struts提供的struts-mailreader例子程序進行理解。

 

 

Struts開發步驟:
1.新建web工程。
2.把ActionServlet及相關類引進來。
3.在web.xml文件中配置ActionServlet(Action是單實例和線程不安全的,在Action最好不要有可讀寫的成員變量)。
4.進行簡要的需求分析與設計。
5.編寫action,formbean,jsp文件。
6.在struts_config.xml配置文件中配置上面編寫各個組件。
7.在各個組件中編寫代碼把流程連接起來。

     這裏需要注意的是:struts-config.xml文件中的<action>元素的path屬性中沒有.do,原因是映射到struts的路徑可以不是.do。
struts-config.xml文件中的<action>元素的path屬性必須以“/”開頭,forward中配置的jsp文件路徑也必須以“/”開頭,在web應用程序中記住路徑總是以“/”開頭。

 

 

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