Struts2起始框架的搭建

struts1是阿帕奇公司開發(fā)的耦合性很高
xwork是OpenSystem。
后來阿帕奇買了xwork。成就了struts2(struts2并不是struts1的升級(jí)版)

搭建上struts2框架前期

新建一個(gè)web項(xiàng)目 我們命名為week3

  1. 獲取發(fā)布包 struts2官網(wǎng) apache github 百度

在這里我用到的是下面這個(gè)發(fā)布包struts2-2.3.24.1
以后有機(jī)會(huì)可以研究:bootstrap

  1. 導(dǎo)入jar包.切記不能導(dǎo)入lib包下的所有包(后面用maven自動(dòng)導(dǎo)包)殖熟。它包很多里面很多包都是有沖突的徽诲。
    我們需要導(dǎo)入的包可以參考一下目錄的所有包導(dǎo)進(jìn)去。struts-2.3.24.1\apps\struts2-blank\WEB-INF\lib*
  1. 配置web.xml(在這下面truts-2.3.24.1\apps\struts2-blank\WEB-INF有一個(gè)web.xml作為參考) 在這里過濾任何以.action結(jié)尾的都會(huì)被struts2攔截。

         <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>*.action</url-pattern>
         </filter-mapping>
    
  2. 配置struts2核心配置文件 struts.xml (這里有參考struts-2.3.24.1\apps\struts2-blank\struts2-blank\WEB-INF\src\java) 放在src目錄下。也可以放在其他位置需要指向一下。(如果這里有警告劫扒,就是dtd問題)

        <?xml version="1.0" encoding="UTF-8" ?>
        <!DOCTYPE struts PUBLIC
            "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
            "http://struts.apache.org/dtds/struts-2.3.dtd">
        <struts>
            <constant name="struts.enable.DynamicMethodInvocation" value="false" />
            <constant name="struts.devMode" value="true" />
            <package name="default" namespace="/" extends="struts-default">
                
            </package>
            <!-- <include file="example.xml"/> -->
        </struts>
    
    • struts-2.3.24.1\apps\struts2-blank\struts2-blank\WEB-INF\lib\struts2-core-2.3.24.1.jar\ 這里有dtd,文件。找到對(duì)應(yīng)版本的dtd.這里用到的是struts-2.3.dtd
      在進(jìn)行關(guān)聯(lián)狸膏。關(guān)聯(lián)方法和hibernate框架關(guān)聯(lián)dtd文件一樣沟饥,在window的首先項(xiàng)中xml catalog中。

開發(fā)Struts2項(xiàng)目

  1. 編寫Action(假設(shè)我們現(xiàn)在有一個(gè)bean類為user湾戳。此時(shí)我們可以編寫一個(gè)UserAction)贤旷。并且寫需要的相應(yīng)方法需要一個(gè)返回值。如(注冊(cè)):

         public String toRegister() {
         System.out.println("跳轉(zhuǎn)到注冊(cè)頁面");
         return "register";
          }
    
  2. 配置struts.xml

在package標(biāo)簽中砾脑,我們?cè)谂渲靡粋€(gè)action幼驶。其中有如下屬性。這里我們給出代碼例子:

     <package name="default" namespace="/" extends="struts-default">
     <action name="/user_*" class="com.zts.week3.web.action.UserAction"
        method="{1}">
        <result name="register">/WEB-INF/jsp/register.jsp</result>
    </action>
    </package>

假設(shè)我們現(xiàn)在訪問http://localhost:8888/week3/user_toRegister.action韧衣。首先它是*.action結(jié)尾所以會(huì)被struts2監(jiān)聽盅藻。namespace這個(gè)是命名空間這里指目錄。根目錄下面user_toRegister(.action過濾了)和action標(biāo)簽的name屬性/user_匹配成功畅铭。找見class這個(gè)類氏淑。調(diào)用toLogin方法。返回一個(gè)register硕噩。跳轉(zhuǎn)到/WEB-INF/jsp/register.jsp

執(zhí)行流程:
http://localhost:8888/week3/user_toRegister.action
    request
        url:/user_toRegister.action
        .action
        |
        struts2
    請(qǐng)求: /user_toRegister
    匹配:struts.xml
    <package name="" namespace="/">
        <action name="user_*" class="" 
                method="{1}">
            <result name="register">/register.jsp</result>
        </action>
    </package>
    class.forName("class")
        .newInstance()
        .toRegister();
            return "register"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末假残,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子炉擅,更是在濱河造成了極大的恐慌辉懒,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,430評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谍失,死亡現(xiàn)場(chǎng)離奇詭異眶俩,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)快鱼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門颠印,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纲岭,“玉大人,你說我怎么就攤上這事嗽仪。” “怎么了柒莉?”我有些...
    開封第一講書人閱讀 167,834評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵闻坚,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我兢孝,道長(zhǎng)窿凤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,543評(píng)論 1 296
  • 正文 為了忘掉前任跨蟹,我火速辦了婚禮雳殊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘窗轩。我一直安慰自己夯秃,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,547評(píng)論 6 397
  • 文/花漫 我一把揭開白布痢艺。 她就那樣靜靜地躺著仓洼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪堤舒。 梳的紋絲不亂的頭發(fā)上色建,一...
    開封第一講書人閱讀 52,196評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音舌缤,去河邊找鬼箕戳。 笑死,一個(gè)胖子當(dāng)著我的面吹牛国撵,可吹牛的內(nèi)容都是我干的陵吸。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼介牙,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼走越!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起耻瑟,我...
    開封第一講書人閱讀 39,671評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤旨指,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后喳整,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谆构,經(jīng)...
    沈念sama閱讀 46,221評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,303評(píng)論 3 340
  • 正文 我和宋清朗相戀三年框都,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了搬素。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,444評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖熬尺,靈堂內(nèi)的尸體忽然破棺而出摸屠,到底是詐尸還是另有隱情,我是刑警寧澤粱哼,帶...
    沈念sama閱讀 36,134評(píng)論 5 350
  • 正文 年R本政府宣布季二,位于F島的核電站,受9級(jí)特大地震影響揭措,放射性物質(zhì)發(fā)生泄漏胯舷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,810評(píng)論 3 333
  • 文/蒙蒙 一绊含、第九天 我趴在偏房一處隱蔽的房頂上張望桑嘶。 院中可真熱鬧,春花似錦躬充、人聲如沸逃顶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽口蝠。三九已至,卻和暖如春津坑,著一層夾襖步出監(jiān)牢的瞬間妙蔗,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工疆瑰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留眉反,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,837評(píng)論 3 376
  • 正文 我出身青樓穆役,卻偏偏與公主長(zhǎng)得像寸五,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子耿币,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,455評(píng)論 2 359

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

  • 概述 什么是Struts2的框架Struts2是Struts1的下一代產(chǎn)品梳杏,是在 struts1和WebWork的...
    inke閱讀 2,263評(píng)論 0 50
  • 概述 Struts就是基于mvc模式的框架!(struts其實(shí)也是servlet封裝淹接,提高開發(fā)效率十性!) Strut...
    奮斗的老王閱讀 2,944評(píng)論 0 51
  • 本文包括: 1、Struts 2 概述2塑悼、Struts 2 快速入門3劲适、Struts 2 的執(zhí)行流程4、配置 st...
    廖少少閱讀 2,964評(píng)論 3 13
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法厢蒜,類相關(guān)的語法霞势,內(nèi)部類的語法烹植,繼承相關(guān)的語法,異常的語法愕贡,線程的語...
    子非魚_t_閱讀 31,660評(píng)論 18 399
  • 沒有公式可尋的青春草雕,就像貼了層保護(hù)膜的鍵盤絲毫不染敲擊的傷痛,那是仙羨人心的歲月固以,不曾有墩虹,也不會(huì)再有。 1998那...
    落桑Chen閱讀 314評(píng)論 0 1