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

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

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

    shenang博客技術文檔


    理論不懂就實踐,實踐不會就學理論!

    posts - 35,comments - 55,trackbacks - 0

     

                       整合Springstruts學習筆記

    整合共有三種方法:

    使用 Spring ActionSupport類整合 Structs

    使用 Spring DelegatingRequestProcessor

    覆蓋 Struts RequestProcessor Struts Action管理委托給 Spring 框架

    前面二種很簡單,但不是最優化的,最優優化是第三種,有興趣的同志,可以到下面網址去看看

    http://www.ibm.com/developerworks/cn/java/j-sr2.html#N1008C

    下面,我將以一個實例簡單介紹一下二者的整合,以作為個人備忘

    對于像我一樣的新手,大家一起共同學習,有錯誤的地方,還望指教。

    具體步聚如下:

    1、首先是導入需要的包
     看了很多別人的文章,這里都寫得不太清楚,我覺得這是比較重要的一步,如果包導入不對,程序就高度不出來,所以,我比較看重這步,因為不是所有人都是很清楚這一步,對于像我這種新手還是有用的,呵呵。

    Spring的二個包:
    spring.jar
    struts2-spring-plugin-2.0.9.jar(其實這個包應該是struts的包哈)
    Struts的五個基本包
    commons-logging-1.1.jar
    freemarker-2.3.8.jar
    ognl.jar
    struts2-core-2.0.9.jar
    xwork-2.0.4.jar
    (當然,在我寫的這個小程序中,有一些struts包是用不到的!導入了包,下一步就開始了!)

    2、配置Spring監聽器.
    向web.xml加入下面語句:

    1 <listener>   
    2         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>   
    3     </listener>   

    下面是完整的web.xml 為了方便大家調試,我給出全碼如下:

     

     1 <?xml version="1.0" encoding="UTF-8"?>   
     2 <web-app id="WebApp_ID" version="2.4"   
     3     xmlns="http://java.sun.com/xml/ns/j2ee"   
     4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
     5     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">   
     6     <display-name>struts2tutorial</display-name>   
     7         
     8     <filter>   
     9         <filter-name>struts2</filter-name>   
    10         <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>   
    11     </filter>   
    12         
    13     <filter-mapping>   
    14         <filter-name>struts2</filter-name>   
    15         <url-pattern>*.action</url-pattern>   
    16     </filter-mapping>   
    17         
    18     <welcome-file-list>   
    19         <welcome-file>index.jsp</welcome-file>   
    20     </welcome-file-list>   
    21         
    22     <listener>   
    23         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>   
    24     </listener>   
    25         
    26 </web-app>


    3、利用Spring配置文件來注冊對象

    在原有的struts.xml文件加入

     

     1 <!DOCTYPE struts PUBLIC    
     2     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"    
     3     "http://struts.apache.org/dtds/struts-2.0.dtd">
     4 <struts>
     5     <!-- 下面這句表明對象是由spring負責產生的.加上這句后,struts會產生讓spring負責 
     6         產生bean,如果spring不能產生bean,則由struts自己產生.也可以在struts.properties 
     7         文件內定義這個屬性.-->
     8     <constant name="struts.objectFactory.spring.autoWire" value="type" />
     9     <constant name="struts.objectFactory" value="spring" />
    10     <!--
    11     <constant name="objectFactory" value="spring"></constant>
    12     -->
    13     <package name="struts2tutoial" extends="struts-default"
    14         namespace="/">
    15         <!-- 注意,現在action的class屬性不再是類的名字了,而是在spring中的bean的id 
    16             詳細信息請看下面的spring的bean配置文件applicationContext.xml -->
    17         <action name="HelloWorld" class="helloWorld">
    18             <result>/helloWorld.jsp</result>
    19         </action>
    20         <!-- Add your actions here -->
    21     </package>
    22 </struts>
    23 

    看到上文中的
    8     <constant name="struts.objectFactory.spring.autoWire" value="type" />
     9     <constant name="struts.objectFactory" value="spring" />
    10     <!--
    11     <constant name="objectFactory" value="spring"></constant>
    12     -->

    這個地方只需要注釋中的也行!

    4、配置applicationContext.xml

    注意,這個文件一定要放在WEB-INF下面,否則會出錯,默認情況下,容器會到WEB-INF目錄下面去尋找applicationContext.xml文件。如果我們想指定別的地方的配置文件或者指定多個配置文件,可以通過在web.xml文件中定義 context-param元素來指定,除非你在web.xml作如下配置

     1 <context-param>
     2 
     3     <param-name>contextConfigLocation</param-name>
     4  <!-- 下面指的是文件存放路徑,下面我還用了一個通配路徑,classpath下的所在形如:applicationContext-XX.xml都引入-->
     5     <param-value>
     6         /WEB-INF/applicationContext.xml,classpath:applicationContext-*.xml
     7     </param-value>
     8 
     9  </context-param>
    10 


    下面是我的appliccationContext.xml全碼:

    <?xml version="1.0" encoding="UTF-8"?>   
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">   
    <beans>   
        
    <bean id="helloWorld" class="com.tianji.test.HelloWorld"></bean>   
    </beans>
    <!--上面的解釋下:在前面說了,這個bean中的ID,必須與struts中的action指定的class值一樣,此bean中的class就是你要處理的action類,如果你在action時有傳值,則在此bean中加入形如:
    <property name="message">
        
    <value>i love you</value></property>
    形式的語句!
     
    -->


    5、寫一個action類
    HelloWord.java

     1 package com.tianji.test;    
     2 import com.opensymphony.xwork2.ActionSupport;    
     3 public class HelloWorld extends ActionSupport {    
     4    
     5     public static final String MESSAGE = "Struts is up and running ";    
     6    
     7     public String execute() throws Exception {    
     8         setMessage(MESSAGE);    
     9         return SUCCESS;    
    10     }    
    11    
    12     private String message;    
    13    
    14     public void setMessage(String message){    
    15         this.message = message;    
    16     }    
    17    
    18     public String getMessage() {    
    19         return message;    
    20     }    
    21 }   
    22 
    23 

    這個不用解釋哈!

    6、創建HelloWord.jsp

    1 <%@ taglib prefix="s" uri="/struts-tags" %>   
    2 <html>   
    3     <head>   
    4         <title>Hello World!</title>   
    5     </head>   
    6     <body>   
    7         <h2><s:property value="message" /></h2>   
    8     </body>   
    9 </html>  

    發布,運行服務器,在瀏覽器中打開:
    http://localhost:8080/love/HelloWorld.action

    注意修改上面紅色部份!

    結果:成功!

    Struts is up and running````````


     

     


     

    posted on 2009-03-25 16:11 重慶理工小子 閱讀(712) 評論(3)  編輯  收藏 所屬分類: Spring2Struts2技術整合

    FeedBack:
    # re: 整合Spring和struts學習筆記
    2009-03-25 17:54 | 學習的人
    好文章,我也在學習,謝謝樓主!我是第一個評論的,呵呵!  回復  更多評論
      
    # re: 整合Spring和struts學習筆記
    2009-03-25 17:55 | 關注
    謝謝,關注中!  回復  更多評論
      
    # re: 整合Spring和struts學習筆記
    2009-03-25 18:04 | 重慶理工小子
    @學習的人

    由于剛學,文章寫得不好!謝謝!

    大家一起進步!
      回復  更多評論
      
    主站蜘蛛池模板: 香港一级毛片免费看| 花蝴蝶免费视频在线观看高清版| 中文字幕乱码亚洲无线三区| 亚洲AⅤ男人的天堂在线观看| 9久久免费国产精品特黄| 无人在线观看免费高清视频| 亚洲午夜久久久久久噜噜噜| 日本亚洲免费无线码| 久久久久久国产a免费观看黄色大片 | 国产亚洲一区二区手机在线观看| 亚洲jizzjizz在线播放久| 一个人看的免费视频www在线高清动漫 | 男女午夜24式免费视频| 免费日本黄色网址| 亚洲中文字幕在线无码一区二区| 成人免费av一区二区三区| 日韩免费高清一级毛片在线| 亚洲在成人网在线看| 在线免费播放一级毛片| 亚洲av无码天堂一区二区三区| 精品久久久久久亚洲精品| 嫩草影院免费观看| 亚洲av乱码一区二区三区| 女人张开腿等男人桶免费视频| 国产精品亚洲天堂| 国产精品视频免费一区二区三区| 亚洲不卡1卡2卡三卡2021麻豆| 天天干在线免费视频| 羞羞视频免费网站日本| 亚洲不卡无码av中文字幕| 久久www免费人成看国产片| 亚洲av日韩av激情亚洲| 最近的2019免费中文字幕| 91亚洲精品麻豆| 少妇性饥渴无码A区免费| 亚洲人成综合网站7777香蕉| 国产婷婷成人久久Av免费高清| 色天使色婷婷在线影院亚洲| 久久青草免费91观看| 亚洲精品日韩专区silk| a级毛片毛片免费观看久潮|