WEB2.0開發

          心態決定行為,行為決定習慣,習慣決定命運

          Webwork 和 spring 的整合




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

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

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

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

          <!-- 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的執行。

          <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 的作用是設置 XWork 和 Webwork 的環境,使這能從spring 中加載數據和信息(在contextInitialized(ServletContextEvent event)方法中,當啟動web應用程序是調用).

          要使ContextLoaderServlet比SpringObjectFactoryListener類更早執行,我使用的方法是重載ContextLoaderServlet,在中子類的int方法中設置XWork 和 Webwork 的環境,去掉SpringObjectFactoryListener 監聽器,并整改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中增加如下節點

          <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中要調用的類名。

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

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


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


          網站導航:
           
          主站蜘蛛池模板: 元阳县| 榕江县| 普安县| 邹平县| 车险| 仲巴县| 湖南省| 弥勒县| 博爱县| 盐亭县| 巨野县| 师宗县| 汤原县| 钟山县| 宜宾县| 太白县| 准格尔旗| 吉首市| 贞丰县| 白玉县| 博罗县| 万载县| 望奎县| 开化县| 铁岭县| 平谷区| 和静县| 武胜县| 崇阳县| 昔阳县| 水富县| 山西省| 普洱| 祁阳县| 宁南县| 双江| 土默特左旗| 平昌县| 宁河县| 芮城县| 宁城县|