java與我同在

          我與java

          2012年1月29日

          初學(xué)struts2的一些感想1

          最近這兩三天學(xué)習(xí)了struts2,感覺(jué)都快遺忘了繁瑣的servlet,主要是struts2在傳遞數(shù)據(jù)方面十分的強(qiáng)大。struts2總結(jié)來(lái)說(shuō),就是前臺(tái)的界面,后臺(tái)的類。也就是說(shuō)前臺(tái)用來(lái)顯示界面的jsp和后臺(tái)的繼承了ActionSupport的java類,并且通常是一個(gè)jsp對(duì)應(yīng)一個(gè)java類,struts2通過(guò)struts.xml來(lái)配置對(duì)應(yīng)jsp的java類。

          當(dāng)jsp訪問(wèn)java類時(shí),會(huì)由本質(zhì)上是過(guò)濾器的控制器來(lái)控制其訪問(wèn),首先會(huì)創(chuàng)建相應(yīng)的Action對(duì)象(繼承了ActionSupport的java類的一個(gè)實(shí)例)和ActionContext對(duì)象,ActionContext對(duì)象中存有Action對(duì)象的所有屬性以及其他的包裝了request、session、application的map,并且會(huì)將ActionContext對(duì)象綁定到當(dāng)前的線程上面,便于對(duì)數(shù)據(jù)的訪問(wèn)。然后層層調(diào)用一系列的本質(zhì)上是java類的攔截器來(lái)進(jìn)行復(fù)雜的處理,在這些攔截器中就有一個(gè)java類來(lái)進(jìn)行參數(shù)的傳遞,它會(huì)將jsp中表單項(xiàng)中名字相同的條目的值通過(guò)ActionContext自動(dòng)賦給java類中名字相同的變量,從而完成了數(shù)據(jù)從jsp到j(luò)ava類的映射,之后調(diào)用執(zhí)行java類的特定方法并返回一個(gè)表示狀態(tài)的字符串,然后再一層層返回直到控制器,控制器根據(jù)返回字符串在struts.xml中找到相應(yīng)的jsp等進(jìn)行跳轉(zhuǎn)處理,并可以讀取ActionContext中的數(shù)據(jù)以顯示相應(yīng)的結(jié)果。 

          這樣在struts2中就不需要進(jìn)行復(fù)雜的讀取參數(shù)的過(guò)程,靠配置一個(gè)簡(jiǎn)單的struts2.xml就能實(shí)現(xiàn)參數(shù)的傳遞。

          posted @ 2012-01-29 22:44 心中江山如畫 閱讀(153) | 評(píng)論 (0)編輯 收藏

          僅列出標(biāo)題  
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評(píng)論

          主站蜘蛛池模板: 榆社县| 延安市| 长沙市| 仁寿县| 尚志市| 南华县| 吉林省| 开封县| 余干县| 宁明县| 阿瓦提县| 徐州市| 鱼台县| 郯城县| 九寨沟县| 江达县| 昆明市| 监利县| 蚌埠市| 陵川县| 搜索| 巫山县| 河池市| 邳州市| 大关县| 德清县| 西青区| 桂林市| 武川县| 冷水江市| 教育| 方城县| 本溪| 济源市| 迭部县| 山西省| 宁都县| 台山市| 靖西县| 石棉县| 荣昌县|