[Struts2]7-Struts2配置詳解

wbe.xml

任何一個(gè)web應(yīng)用程序都是基于請(qǐng)求/相應(yīng)模式進(jìn)行構(gòu)建的狮鸭,所以無論采用哪種MVC框架赡译,都離不開web.xml文件的配置浑槽。

換句話說,web.xml并不是Struts2框架特有的文件庶香,只有在Web應(yīng)用中配置了web.xml文件,MVC框架才能真正的與Web應(yīng)用融合起來简识。

因此赶掖,web.xml文件是所有javaweb應(yīng)用程序的核心文件。struts2框架需要在web.xml中配置核心控制器StrutsPrepareAndExecuteFilter七扰,用于對(duì)框架進(jìn)行初始化奢赂。配置如下

    <filter>  
        <filter-name>struts2</filter-name>  
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
    </filter>  
    <filter-mapping>  
        <filter-name>struts2</filter-name>  
        <url-pattern>/*</url-pattern>  
    </filter-mapping>  

StrutsPrepareAndExecuteFilter可以包含一些初始化參數(shù),如要加載的xml形式的配置文件颈走,多個(gè)配置文件用逗號(hào)分隔膳灶,如果沒有這些參數(shù)struts框架會(huì)默認(rèn)加載struts-default.xml、struts-plugin.xml和struts.xml立由。

StrutsPrepareAndExecuteFilter作為一個(gè)filter在Web應(yīng)用中運(yùn)行轧钓,它負(fù)責(zé)攔截所有的用戶請(qǐng)求,當(dāng)用戶請(qǐng)求到達(dá)時(shí)锐膜,該Filter會(huì)過濾用戶請(qǐng)求毕箍。如果用戶請(qǐng)求以action結(jié)尾,該請(qǐng)求會(huì)被輸入Struts2框架中進(jìn)行處理枣耀。

Action

實(shí)際上霉晕,在MVC框架中庭再,控制器是有由兩個(gè)部分組成,分別如下牺堰。
1).核心控制器(Filter):用于攔截用戶請(qǐng)求拄轻,對(duì)請(qǐng)求進(jìn)行處理。
2).業(yè)務(wù)控制器(Action):調(diào)用相應(yīng)的Model類實(shí)現(xiàn)業(yè)務(wù)處理伟葫,返回結(jié)果恨搓。
注:在實(shí)際開發(fā)中,Action類通常都繼承自ActionSupport類筏养。
完成一個(gè)Action類后斧抱,就需要在struts.xml中配置action了。配置如下

<struts>  
    <!-- name屬性可以隨便填寫 namespace屬性為你action的包名 extends屬性一定要繼承struts-default或者是你自己定義的 -->  
    <package name="default" namespace="/" extends="struts-default">  
        <!-- 配置action name屬性為action名字 class這個(gè)action指向那個(gè)類-->  
        <action name="FwInfoAction" class="action.FwInfoAction">  
            <!-- 結(jié)果為input時(shí)渐溶,跳轉(zhuǎn)網(wǎng)頁login.jsp辉浦,在服務(wù)端做驗(yàn)證的時(shí)候,默認(rèn)執(zhí)行input-->  
            <result name="input">login.jsp</result>  
            <!-- 結(jié)果為guanli_error時(shí)茎辐,跳轉(zhuǎn)頁面login.jsp -->  
            <result name="guanli_error">login.jsp</result>  
            <!-- 結(jié)果為guanli_success時(shí)宪郊,跳轉(zhuǎn)頁面guanli.jsp -->  
            <result name="guanli_success">guanli.jsp</result>  
        </action>  
    </package>  
</struts>  

Result

Action類在處理完用戶請(qǐng)求后,會(huì)返回一個(gè)處理結(jié)果拖陆。這個(gè)結(jié)果是一個(gè)簡(jiǎn)單的字符串弛槐,框架根據(jù)這個(gè)字符串選擇對(duì)應(yīng)的Result,所以我們又將其成為邏輯視圖名稱依啰。這個(gè)邏輯屬兔名稱由result元素的name屬性表示乎串。簡(jiǎn)單的說就是,用來設(shè)定在Action處理結(jié)束后速警,系統(tǒng)下一步將要做什么叹誉。

Action的作用

對(duì)于struts2應(yīng)用的開發(fā)者而言,Action才是應(yīng)用的核心闷旧。開發(fā)者需要提供大量的Action類桂对,并且在struts.xml文件中配置Action。Action主要有三個(gè)作用:
??1.封裝工作單元
?????可以把Action看作控制器的一部分鸠匀,其主要職責(zé)就是控制邏輯業(yè)務(wù)蕉斜,通常使用Action的execute()方法實(shí)現(xiàn)這一功能。

??2.數(shù)據(jù)轉(zhuǎn)移的場(chǎng)所
?????Action會(huì)自動(dòng)將提交的數(shù)據(jù)缀棍,寫到對(duì)應(yīng)的屬性當(dāng)中(屬性名與提交的參數(shù)名相同),記得set宅此、get方法。

??3.返回結(jié)果字符串
?????Action的最后一個(gè)作用是返回結(jié)果字符串爬范,框架根據(jù)Action返回的結(jié)果字符串選擇對(duì)應(yīng)的視圖組件呈現(xiàn)給用戶父腕。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市青瀑,隨后出現(xiàn)的幾起案子璧亮,更是在濱河造成了極大的恐慌萧诫,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件枝嘶,死亡現(xiàn)場(chǎng)離奇詭異帘饶,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)群扶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門及刻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人竞阐,你說我怎么就攤上這事缴饭。” “怎么了骆莹?”我有些...
    開封第一講書人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵颗搂,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我幕垦,道長(zhǎng)峭火,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任智嚷,我火速辦了婚禮,結(jié)果婚禮上纺且,老公的妹妹穿的比我還像新娘盏道。我一直安慰自己,他們只是感情好载碌,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開白布猜嘱。 她就那樣靜靜地躺著,像睡著了一般嫁艇。 火紅的嫁衣襯著肌膚如雪朗伶。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,837評(píng)論 1 290
  • 那天步咪,我揣著相機(jī)與錄音论皆,去河邊找鬼。 笑死猾漫,一個(gè)胖子當(dāng)著我的面吹牛点晴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播悯周,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼粒督,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了禽翼?” 一聲冷哼從身側(cè)響起屠橄,我...
    開封第一講書人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬榮一對(duì)情侶失蹤族跛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后锐墙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體礁哄,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年贮匕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了姐仅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡刻盐,死狀恐怖掏膏,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情敦锌,我是刑警寧澤馒疹,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站乙墙,受9級(jí)特大地震影響颖变,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜听想,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一腥刹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧汉买,春花似錦衔峰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至出牧,卻和暖如春穴肘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背舔痕。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工评抚, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人伯复。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓盈咳,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親边翼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鱼响,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容