<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    自由飛翔

    我在仰望,java之上

    統計

    留言簿(2)

    我關注的blog

    閱讀排行榜

    評論排行榜

    spring2.0整合struts1(轉載)

    文章來源:http://hi.baidu.com/liuzhe041/blog/item/e12251dcf2ffe053ccbf1ad2.html


    spring 和struts整合 有3種方式,推薦用第三種。
    下面一一介紹,不管使用哪種方式,都需要在web.xml 中配置 spring的 監聽器

    Java代碼 
    1. <context-param>  
    2.         <param-name>contextConfigLocation</param-name>  
    3.         <param-value>/WEB-INF/applicationContext.xml</param-value>  
    4.     </context-param>  
    5.     <listener>  
    6.         <listener-class>  
    7.             org.springframework.web.context.ContextLoaderListener  
    8.         </listener-class>  
    9.     </listener>  

     

     

     

    第一種:使用 Spring 的 ActionSupport 類整合 Struts

     

     a.在struts-config.xml中


    Java代碼 
    1. <action path="/login" name="loginForm" scope="request"  
    2.                         type="com.demo.struts.actions.LoginAction"  
    3.                         input="/login.jsp">  
    4.                         <forward name="success" path="/welcome.jsp" />  
    5.                         <forward name="failure" path="/login.jsp" />  
    6. </action>  
    7.   
    8.    

     

     b.在applicationContext.xml中

     

    Xml代碼 
    1. <bean id="userDAO" class="com.demo.hibernate.dao.UserDAO">  
    2.         <property name="sessionFactory">  
    3.             <ref local="sessionFactory" />  
    4.         </property>  
    5.     </bean>  
    6.   
    7. <bean name="/login" class="com.demo.struts.actions.LoginAction">  
    8.         <property name="userDAO">  
    9.             <ref local="userDAO" />  
    10.         </property>  
    11.     </bean>  
    12.     

     

    c.在action中 使用下面的方式得到bean

     

     

    Java代碼 
    1. UserDAO userDAO=(UserDAO)getWebApplicationContext().getBean("userDAO");  

     

     

    第二種:使用 Spring 的 DelegatingRequestProcessor 覆蓋 Struts 的 RequestProcessor

    a.在struts-config.xml中


    Java代碼 
    1. <action path="/login" name="loginForm" scope="request"  
    2.                                                input="/login.jsp">  
    3.                         <forward name="success" path="/welcome.jsp" />  
    4.                         <forward name="failure" path="/login.jsp" />  
    5. </action>  
    6.   
    7.    
    8. <controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor" />  

     

     

     b.在applicationContext.xml中

     

    Xml代碼 
    1. <bean id="userDAO" class="com.demo.hibernate.dao.UserDAO">  
    2.         <property name="sessionFactory">  
    3.             <ref local="sessionFactory" />  
    4.         </property>  
    5.     </bean>  
    6.   
    7. <bean name="/login" class="com.demo.struts.actions.LoginAction">  
    8.         <property name="userDAO">  
    9.             <ref local="userDAO" />  
    10.         </property>  
    11.     </bean>  

      

    c.在action中 使用下面的注入屬性的方式得到bean ,直接使用 userDAO.xxx 調用userDAO中的方法

     

    Java代碼 
    1. protected UserDAO userDAO;  
    2.   
    3.     Logger log = Logger.getLogger(this.getClass());  
    4.   
    5.     public UserDAO getUserDAO() {  
    6.         return userDAO;  
    7.     }  
    8.   
    9.     public void setUserDAO(UserDAO userDAO) {  
    10.         this.userDAO = userDAO;  
    11.     }  

     

     

    第三種:將 Struts Action 管理委托給 Spring 框架        

    a.在struts-config.xml中

    Java代碼 
    1. <action path="/login" name="loginForm" scope="request"  
    2.                         type="org.springframework.web.struts.DelegatingActionProxy"  
    3.                         input="/login.jsp">  
    4.                         <forward name="success" path="/welcome.jsp" />  
    5.                         <forward name="failure" path="/login.jsp" />  
    6.                 </action>  

     

     

     b.在applicationContext.xml中

     

    Xml代碼 
    1. <bean id="userDAO" class="com.demo.hibernate.dao.UserDAO">  
    2.         <property name="sessionFactory">  
    3.             <ref local="sessionFactory" />  
    4.         </property>  
    5.     </bean>  
    6.   
    7. <bean name="/login" class="com.demo.struts.actions.LoginAction">  
    8.         <property name="userDAO">  
    9.             <ref local="userDAO" />  
    10.         </property>  
    11.     </bean>  

      

    c.在action中 使用下面的注入屬性的方式得到bean ,直接使用 userDAO.xxx 調用userDAO中的方法

     

    Java代碼 
    1. protected UserDAO userDAO;  
    2.   
    3.     Logger log = Logger.getLogger(this.getClass());  
    4.   
    5.     public UserDAO getUserDAO() {  
    6.         return userDAO;  
    7.     }  
    8.   
    9.     public void setUserDAO(UserDAO userDAO) {  
    10.         this.userDAO = userDAO;  
    11.     }  

     



    Gavin

    posted on 2012-03-16 10:14 GavinMiao 閱讀(286) 評論(0)  編輯  收藏 所屬分類: spring

    主站蜘蛛池模板: 亚洲综合婷婷久久| 亚洲色精品vr一区二区三区 | 中国内地毛片免费高清| 国产午夜无码片免费| 免费女人高潮流视频在线观看 | 日韩欧毛片免费视频| 国产精品免费小视频| 亚洲日产无码中文字幕| 久久久久久亚洲精品成人| 亚洲依依成人亚洲社区| 一区二区三区视频免费| 久久久免费的精品| 成人片黄网站色大片免费| 亚洲精品成人网久久久久久| 亚洲国产精品lv| 亚洲国产精品嫩草影院| 亚洲第一视频在线观看免费| 国产精品爱啪在线线免费观看| 国产一级特黄高清免费大片| 久久精品亚洲中文字幕无码网站| 亚洲а∨天堂久久精品9966| 亚洲免费视频一区二区三区| 91频在线观看免费大全| 亚洲AV蜜桃永久无码精品| 亚洲国产成人久久综合碰碰动漫3d| 亚洲熟女乱色一区二区三区| 中文无码日韩欧免费视频| 91在线视频免费91| 亚洲无线观看国产精品| 亚洲中文字幕久久久一区| 国产日韩一区二区三免费高清| 免费无码肉片在线观看| 精品国产亚洲一区二区在线观看| 亚洲成人免费电影| 成人国产精品免费视频 | 99re在线精品视频免费| 免费国产在线观看老王影院 | 亚洲综合av永久无码精品一区二区| 亚洲伊人久久大香线蕉在观| 日韩毛片在线免费观看| 日韩国产免费一区二区三区|