struts2、spring和mybatis整合理解


1.web.xml配置文件中要配置StrutsPrepareAndExecuteFilter類的過濾器:

     <filter>

        <filter-name>struts2filter</filter-name>

        <filter-class>

    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

   </filter-class>

     </filter>

     <filter-mapping>

        <filter-name>struts2filter</filter-name>

        <url-pattern>/*</url-pattern>

     </filter-mapping>

注:在瀏覽器輸入相應的訪問地址----》把請求發送給tomcat---》tomcat判斷應該把請求交給哪個application應用---》讀取

webapplication應用下的web.xml配置文件---》執行到struts2filter過濾器,交給StrutsPrepareAndExecuteFilter類的doFilter()方法,讀取struts.xml文件,根據用戶的請求地址找到對應的package、action以及result---》將對應的頁面或數據返回給瀏覽器

   2.web.xml中context-param標簽:

     <context-param><!—spring啟動加載配置:配置文件地址-->

        <param-name>contextConfigLocation</param-name>

        <param-value>classpath*:/applicationContext.xml</param-value>

     </contex-param>

     <listener><!--spring啟動監聽:ContextLoaderListener類將spring的applicationContext.xml配置文件載入-->

        <listener-class>

          org.springframework.web.context.ContextLoaderListener

        </listener-class>

     </listener>

   注:①<param-name>標簽中的名稱不可更改,即任何情況下都必須是contextConfigLocation;

     ②ContextLoaderListener的作用:在web啟動時,自動裝載spring的applicationContext.xml配置文件。因為它實現了

        ServletContextListener這個接口,在web.xml配置這個監聽器,啟動容器時,就會默認執行它實現的方法。在

ContextLoaderListener中關聯了ContextLoader這個類,所以整個加載配置過程由ContextLoader來完成

     ③spring在web中的啟動是由ContextLoaderListener開始的,ContextLoaderListener實現了ServletLoaderListener

        接口,並繼承了ContextLoader類

   3.struts.xml配置文件:

     ①include節點是struts2中組件化的方式,可以將每個功能模塊獨立到一個xml配置文件中,然后用include節點引用

        <include file=”struts-default.xml”/>

②package提供了將多個action組織為一個模塊的方式,package的名字必須是唯一的;當一個package擴展自另一個package

時,該package會在本身配置的基礎上加入擴展的package配置,父package必須在子package前配置

name:package名稱

extends:繼承的package名稱

abstract:設置package的屬性為抽象的,抽象的package不能定義action,值為true|false

namespace:定義package命名空間,該命名空間影響到url的地址,如此命名空間為”/test”,訪問的地址為:localhost:8080/

   struts/test/xxx.action

<package name=”struts” extends=”struts-default” namespace=”/test”>

...

</package>

     ③定義默認的攔截器,每個action都會自動引用,如果action引用了其他的攔截器,默認的攔截器將無效

        <default-interceptor-ref name=”myStack”></default-interceptor-ref>

     ④全局result配置

        <global-results>

          <result name=”input”>/error.jsp</result>

        </global-results>

     ⑤一個action可以多次被映射(只要action中的name不同)

        name:action 名稱

        class:action對應的類路徑

        method:調用action中的方法名


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM