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

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

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

    隨筆-3  評論-2  文章-1  trackbacks-0

        
           在web.xml文件里配置一個派遣器ServletDispatcher,以接收所有以action結尾的url請求。并進行http請求調度處理.
    <servlet>
       <servlet-name></servlet-name>
       <servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcher</servlet-class>
    </servlet>
    <servlet-mapping>
       <servlet-name>webwork</servlet-name>
       <url-pattern>*.action</url-pattern>
    </servlet-mapping>

    當ServletDispatche調度器接收到一個.action結尾的請求時,會調用ServletDispatche類的service方法進行處理,該方法最終是創建一個ActionProxy對象,并通過執行ActionProxy中的execute方法來
    調用所請求的Action的execute方法.之前要執行一些方法來創造條件:創建Action上下文===>從request中獲得值堆棧stack===>創建ActionProxyFactory對象,并初始化一個DefaultActionProxy對象====>通過DefaultAction的構造函數調用ConfigurationManager獲得當前請求的Action在xwork.xml中的配置信息====>DefaultActionProxy中的prepare方法通過創建一個ActionInvocation對象來實現對請求action的調用。

    AroundInterceptor攔截機-->
    DefaultActionInvocation中有一個數組維護了攔截機的執行順序:
    1、StaticParametersInterceptor, 2、ParametersInterceptor, 3、WebWorkConversionErrorInterceptor
    4、ModelDrivenInterceptor 5、ExternalReferencesInterceptor
    6、StaticParametersInterceptor 7、parametersInterceptor, 8、WebWorkConversionErrorInterceptor
    9、ModelDrivenInterceptor 10、ValidationInterceptor
    注:這里1、2、3、4攔截機執行了兩次,為什么會執行兩次呢?
    疑問:這里的執行順序和webwork-default.xml中的<interceptors>配置有何關聯?

    Action ---> 根據Action實現相應的Action,ModelDriven接口調用基類的
    ParametersInterceptor中:
          final Map parameters = ActionContext.getContext().getParameters();

    從AroundInterceptor的context中取出頁面提交字段的名稱和值,然后它會先把stack.pus(modelDriven.getModel()); modelDriven.getModel()放到CompoundRoot中(CompounRoot是一個ArrayList)上面提到有四個攔截機執行兩次,因為第一次要push進去一個空的對象,方便填值,第二次放的是填充好的對象。也就是Action中getModel()的對象。把值從parameters 設置到OgnlValueStack的CompoundRoot的第一個下標中的Action里的getModel()對象里code:stack.setValue(name, value);name對應的是getModel()對應的字段,value為要填充的值.

    posted on 2005-12-06 23:12 java驛館 閱讀(492) 評論(0)  編輯  收藏 所屬分類: J2EE隨談
    主站蜘蛛池模板: 光棍天堂免费手机观看在线观看| 俄罗斯极品美女毛片免费播放| 国产精品久久亚洲一区二区| 亚洲黄色一级毛片| 久久亚洲AV永久无码精品| 精品国产精品久久一区免费式| 无码精品国产一区二区三区免费 | a毛片在线还看免费网站| 亚洲αⅴ无码乱码在线观看性色 | 精品成在人线AV无码免费看| 在线免费观看伊人三级电影| 日韩在线视频线视频免费网站| 亚洲精品av无码喷奶水糖心| 亚洲国产品综合人成综合网站| 亚洲AV乱码久久精品蜜桃| 自拍偷自拍亚洲精品被多人伦好爽| 国产三级电影免费观看| 四色在线精品免费观看| 欧美大尺寸SUV免费| 91麻豆最新在线人成免费观看| 特级精品毛片免费观看| 久久国产乱子伦精品免费强| 精品免费久久久久国产一区 | 国产成年无码久久久免费| 久久久久久久国产免费看| 日韩成人毛片高清视频免费看| 亚洲AV无码成人精品区日韩| 亚洲精品无码永久在线观看男男| 亚洲熟女乱色一区二区三区| 中文字幕 亚洲 有码 在线| ww亚洲ww在线观看国产| 亚洲国产激情在线一区| 亚洲最大成人网色香蕉| 一区二区亚洲精品精华液| 日韩亚洲产在线观看| 亚洲日韩精品无码专区加勒比| 亚洲综合小说另类图片动图| 2020年亚洲天天爽天天噜| 亚洲色偷偷偷综合网| 亚洲经典千人经典日产| 国产精品亚洲片在线花蝴蝶|