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

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

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

    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 閱讀(259) 評論(0)  編輯  收藏 所屬分類: WebWorkSpring


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


    網站導航:
     
    主站蜘蛛池模板: japanese色国产在线看免费| 亚洲人成亚洲精品| 亚洲av成人一区二区三区| 一级毛片免费播放| 久久精品国产亚洲AV麻豆不卡| 成年女人A毛片免费视频| 中文字幕亚洲综合久久菠萝蜜| 特黄特色的大片观看免费视频| 免费在线精品视频| 免费看一级高潮毛片| 亚洲国产精品人人做人人爱| 一区二区三区免费在线视频| 久久久久无码专区亚洲av| 国产99久久久国产精免费| 国产亚洲av片在线观看16女人| 成在人线av无码免费高潮喷水 | 免费国产99久久久香蕉| 亚洲AV日韩AV永久无码下载| 99久久99热精品免费观看国产 | 日韩一级免费视频| 婷婷亚洲综合一区二区| 亚洲精品亚洲人成在线观看下载| 中文毛片无遮挡高清免费| 亚洲无线电影官网| 成人爽A毛片免费看| 国产精品亚洲一区二区三区在线观看| 免费国产在线观看| a毛片在线看片免费| 亚洲精品综合久久中文字幕| 久久电影网午夜鲁丝片免费| 狼色精品人妻在线视频免费| 久久亚洲免费视频| 处破痛哭A√18成年片免费| 一级做a爰片久久毛片免费看| 亚洲AV无一区二区三区久久| 特级做A爰片毛片免费69 | 久久久久亚洲Av无码专| 成年女人男人免费视频播放 | 日产乱码一卡二卡三免费| 中文字幕不卡免费高清视频| 色婷五月综激情亚洲综合|