初學struts2的一些感想1
最近這兩三天學習了struts2,感覺都快遺忘了繁瑣的servlet,主要是struts2在傳遞數(shù)據(jù)方面十分的強大。struts2總結(jié)來說,就是前臺的界面,后臺的類。也就是說前臺用來顯示界面的jsp和后臺的繼承了ActionSupport的java類,并且通常是一個jsp對應一個java類,struts2通過struts.xml來配置對應jsp的java類。
當jsp訪問java類時,會由本質(zhì)上是過濾器的控制器來控制其訪問,首先會創(chuàng)建相應的Action對象(繼承了ActionSupport的java類的一個實例)和ActionContext對象,ActionContext對象中存有Action對象的所有屬性以及其他的包裝了request、session、application的map,并且會將ActionContext對象綁定到當前的線程上面,便于對數(shù)據(jù)的訪問。然后層層調(diào)用一系列的本質(zhì)上是java類的攔截器來進行復雜的處理,在這些攔截器中就有一個java類來進行參數(shù)的傳遞,它會將jsp中表單項中名字相同的條目的值通過ActionContext自動賦給java類中名字相同的變量,從而完成了數(shù)據(jù)從jsp到java類的映射,之后調(diào)用執(zhí)行java類的特定方法并返回一個表示狀態(tài)的字符串,然后再一層層返回直到控制器,控制器根據(jù)返回字符串在struts.xml中找到相應的jsp等進行跳轉(zhuǎn)處理,并可以讀取ActionContext中的數(shù)據(jù)以顯示相應的結(jié)果。
這樣在struts2中就不需要進行復雜的讀取參數(shù)的過程,靠配置一個簡單的struts2.xml就能實現(xiàn)參數(shù)的傳遞。
posted @ 2012-01-29 22:44 心中江山如畫 閱讀(153) | 評論 (0) | 編輯 收藏