WEB2.0開發(fā)

          心態(tài)決定行為,行為決定習(xí)慣,習(xí)慣決定命運

          Webwork 和 spring 的整合




          1 適合讀者
          本文針對有一定的web基礎(chǔ),webwork基礎(chǔ),對spring有一定的了解。

          http://www.springframework.org/ 站點可以了解更多關(guān)于spring的詳細(xì)信息. Spring是一個很好的AOP框架,能提供自動的事務(wù)管理。

          http://www.opensymphony.com/webwork/ 站點可以了解更多的webwork . Webwork是一個很好的 MVC 框架,以下簡單介紹,webwork 和 spring 的融合,以用戶注冊為例。

          2 整合步驟
          2 .1使用 SpringObjectFactory
          dev.java.net上的 xwork-optional 包括了對 xwork-spring 的支持,可以下載些包。包中只有4個類,可以根據(jù)具體情況使用。我在例子中使用了SpringObjectFactory類和SpringObjectFactoryListener 類,并安照webwork的文件在web.xml加入了,以下節(jié)點

          <!-- This needs to be after Spring ContextLoaderListener -->

          <listener>

          <listener-class>com.opensymphony.xwork.spring.SpringObjectFactoryListener</listener-class>

          </listener>

          但在實際工作中不能使用,回為在SpringObjectFactoryListener類中寫的,加載些類必須要先加載org.springframework.web.context.ContextLoaderListener類,由于些類在web.xml配置如下,后于listener的執(zhí)行。

          <servlet>

          <servlet-name>spring</servlet-name>

          <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>

          <load-on-startup>0</load-on-startup>

          </servlet>

          ContextLoaderServlet 的作用是加載 spring配置信息(在int方法中),SpringObjectFactoryListener 的作用是設(shè)置 XWork 和 Webwork 的環(huán)境,使這能從spring 中加載數(shù)據(jù)和信息(在contextInitialized(ServletContextEvent event)方法中,當(dāng)啟動web應(yīng)用程序是調(diào)用).

          要使ContextLoaderServlet比SpringObjectFactoryListener類更早執(zhí)行,我使用的方法是重載ContextLoaderServlet,在中子類的int方法中設(shè)置XWork 和 Webwork 的環(huán)境,去掉SpringObjectFactoryListener 監(jiān)聽器,并整改web.xml中的spring配置,如下:

          <servlet>

          <servlet-name>spring</servlet-name>

          <servlet-class>spring.server.ContextLoaderServletServer</servlet-class>

          <load-on-startup>0</load-on-startup>

          </servlet>

          2 .2 配置webwork
          在webwork.xml中增加如下節(jié)點

          <action name="registerSupport-spring" class="registerSupportBean" >

          <result name="success" type="dispatcher">

          <param name="location">/register-result.jsp</param>

          </result>

          <result name="input" type="dispatcher">

          <param name="location">/registerSupport.jsp</param>

          </result>

          <interceptor-ref name="validationWorkflowStack"/>

          </action>

          其中的registerSupportBean在spring中配置

          2 .3 配置spring
          在spring中加入action 配置如下

          <!-- action -->

          <bean name="registerSupportBean" class="spring.action.RegisterActionSupport"

          singleton="false" >

          <property name="userBean">

          <ref bean="userBean"/>

          </property>

          </bean>

          些處的registerSupportBean 即為在webwork中要調(diào)用的類名。

          Copyright 2003-2005 www.sohozu.com All Rights Reserved

          posted on 2006-04-05 12:35 ymx 閱讀(262) 評論(0)  編輯  收藏 所屬分類: WebWorkSpring


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 河西区| 新营市| 鹿邑县| 页游| 金山区| 五家渠市| 三门峡市| 杭锦旗| 临清市| 赣榆县| 贡觉县| 公主岭市| 沁阳市| 建水县| 女性| 宁河县| 高碑店市| 葫芦岛市| 华蓥市| 临武县| 惠来县| 微山县| 七台河市| 巴彦淖尔市| 潮州市| 黑河市| 三河市| 肃南| 新龙县| 全南县| 安泽县| 禄丰县| 章丘市| 罗甸县| 双鸭山市| 芒康县| 长治县| 齐齐哈尔市| 乌兰县| 长丰县| 淮阳县|