Struts2起始框架的搭建

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

搭建上struts2框架前期

新建一個web項目 我們命名為week3

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

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

  1. 導(dǎo)入jar包.切記不能導(dǎo)入lib包下的所有包(后面用maven自動導(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有一個web.xml作為參考) 在這里過濾任何以.action結(jié)尾的都會被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,文件。找到對應(yīng)版本的dtd.這里用到的是struts-2.3.dtd
      在進(jìn)行關(guān)聯(lián)。關(guān)聯(lián)方法和hibernate框架關(guān)聯(lián)dtd文件一樣,在window的首先項中xml catalog中。

開發(fā)Struts2項目

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

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

在package標(biāo)簽中,我們在配置一個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é)尾所以會被struts2監(jiān)聽。namespace這個是命名空間這里指目錄。根目錄下面user_toRegister(.action過濾了)和action標(biāo)簽的name屬性/user_匹配成功。找見class這個類。調(diào)用toLogin方法。返回一個register。跳轉(zhuǎn)到/WEB-INF/jsp/register.jsp

執(zhí)行流程:
http://localhost:8888/week3/user_toRegister.action
    request
        url:/user_toRegister.action
        .action
        |
        struts2
    請求: /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)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 概述 什么是Struts2的框架Struts2是Struts1的下一代產(chǎn)品,是在 struts1和WebWork的...
    inke閱讀 2,340評論 0 50
  • 概述 Struts就是基于mvc模式的框架!(struts其實也是servlet封裝,提高開發(fā)效率!) Strut...
    奮斗的老王閱讀 3,181評論 0 51
  • 本文包括: 1、Struts 2 概述2、Struts 2 快速入門3、Struts 2 的執(zhí)行流程4、配置 st...
    廖少少閱讀 3,205評論 3 13
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,679評論 18 399
  • 沒有公式可尋的青春,就像貼了層保護(hù)膜的鍵盤絲毫不染敲擊的傷痛,那是仙羨人心的歲月,不曾有,也不會再有。 1998那...
    落桑Chen閱讀 358評論 0 1

友情鏈接更多精彩內(nèi)容