條理清晰的搭建SSH環境之整合Struts和Spring


   上文說到搭建SSH環境所需三大框架的jar包,本篇博客將通過修改配置文件整合Struts和Spring,下篇博客整合Hibernate和Spring即可完成環境搭建。

  1、聲明bean,新建TestAction.java,需要給類添加注解:@Controller 和 @Scope("prototype");

   “使用@Controller注解標識TestAction之后,就表示要把TestAction交給Spring容器管理,在Spring容器中會存在一個名字為"testAction"的action,這個名字是根據TestAction類名來取的。

   注意:如果@Controller不指定其value【@Controller】,則默認的bean名字為這個類的類名首字母小寫,如果指定value【@Controller(value="TestAction")】或者【@Controller("TestAction")】,則使用value作為bean的名字。

  使用@Scope注解,@Scope("prototype")表示將Action的范圍聲明為原型,可以利用容器的scope="prototype"來保證每一個請求有一個單獨的Action來處理,避免struts中Action的線程安全問題。spring 默認scope 是單例模式(scope="singleton"),這樣只會創建一個Action對象,每次訪問都是同一Action對象,數據不安全,struts2 是要求每次次訪問都對應不同的Action,scope="prototype" 可以保證當有請求的時候都創建一個Action對象。”

  2、添加Struts.xml內容,  在<package>下,添加如下配置

 

        <!-- 配置測試用的action當與spring整合,class=bean的名稱(如果bean沒有指定value,則首寫字母要小寫))  -->
        <action name="test" class="testAction">
            <result name="success">/test.jsp</result>
        </action>

 

  3、在web.xml中配置Spring的監聽器。

  

    <!-- 配置spring的用於初始化容器對象的監聽器-->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext*.xml</param-value>
    </context-param>

 

  4、加一個整合的jar包。

  

  Spring與Struts2的整合成功了,只需要兩步,一步是添加Spring的監聽器,另一方面是添加整合的jar包。

  需要注意的是:要用@Controller注解標記對應表現層的Bean,也就是Action,就可把他交給Spring容器來管理了。具體的注意點上面已經說過了,很輕松就完成二者的整合了。


免責聲明!

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



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