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

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

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

    fun

     

    10分鐘學(xué)懂Struts 2.0 攔截器

    Struts 2.0攔截器

    簡介

     

    Struts 2.0 中的攔截器,要實(shí)現(xiàn)com.opensymphony.xwork2.interceptor.Interceptor接口,在struts.xml中配置。可以用攔截器來完成調(diào)用Action業(yè)務(wù)邏輯之前的預(yù)處理或是之后的善后處理。還可以通過配置多個(gè)攔截器來滿足action需求。

     

    Interceptor stack是由多個(gè)攔截器組成的攔截器組,在攔截器組中可以對(duì)每一個(gè)攔截器映射。所有進(jìn)行配置攔截器時(shí),不必對(duì)每一個(gè)攔截器進(jìn)行配置,而只需對(duì)interceptor stack進(jìn)行配置即可。在struts 2中默認(rèn)配置了一個(gè)全局interceptor stack,包括Exception InterceptorValidation Interceptor等。

     

    實(shí)例

     

    在這個(gè)實(shí)例當(dāng)中,我將配置一個(gè)時(shí)間攔截器,用來統(tǒng)計(jì)每個(gè)action的請(qǐng)求時(shí)間。

    package interceptor;      
         
    import com.opensymphony.xwork2.ActionInvocation;      
    import com.opensymphony.xwork2.interceptor.Interceptor;      
    /**
    *author by 
    http://www.bt285.cn http://www.5a520.cn
    */
         
    public class ActionTimer implements Interceptor{      
        
    public String intercept(ActionInvocation next) throws Exception {      
            
    long t1 = System.currentTimeMillis();      
            String s
    = next.invoke();      
            
    long t2 = System.currentTimeMillis();      
            System.out.println(
    "Action "+next.getAction().getClass().getName()+" took "+(t2-t1)+" millisecs");      
            
    return s;      
        }
          
              
        
    public void init() {      
        }
          
        
    public void destroy() {      
        }
          
    }
      
    struts.xml
    <?xml version="1.0" encoding="UTF-8" ?>     
    <!DOCTYPE struts PUBLIC      
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"      
        "http://struts.apache.org/dtds/struts-2.0.dtd"
    >     
    <struts>     
        
    <package name="interceptor" extends="struts-default">     
            
    <interceptors>     
                
    <interceptor name="actiontimer"     
                    class
    ="interceptor.ActionTimer" />     
         
                
    <interceptor-stack name="demostack">     
                    
    <interceptor-ref name="defaultStack" />     
                    
    <interceptor-ref name="actiontimer" />     
                
    </interceptor-stack>     
            
    </interceptors>     
            
    <default-interceptor-ref name="demostack" />     
            
    <action name="InterceptorDemo"     
                class
    ="interceptor.action.InterceptorDemo">     
                
    <result>http://www.bt285.cn /interceptor/interceptordemo.jsp</result>     
            
    </action>     
        
    </package>     
         
    </struts>   

    interceptordemo.jsp

    <html>     
    <head>     
         
    </head>     
    <body>     
    </body>     
    </html>   

     

     

    posted on 2009-05-08 20:31 fun 閱讀(1523) 評(píng)論(0)  編輯  收藏

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(11)

    隨筆檔案

    友情鏈接

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲国产婷婷综合在线精品| 国产成人精品免费午夜app | 国产精品爱啪在线线免费观看| 亚洲一区二区三区国产精品| 一级午夜a毛片免费视频| 免费日本黄色网址| 免费一级毛片在线播放放视频 | 日韩免费高清视频| 亚洲欧美日韩一区二区三区在线| 国产精品视频永久免费播放| 亚洲人6666成人观看| 成人在线免费观看| 色噜噜噜噜亚洲第一| 亚洲综合久久夜AV | 国产在线观看免费av站| 久久久久亚洲AV成人无码| 亚洲视频在线观看免费| 亚洲不卡中文字幕| 蜜臀91精品国产免费观看 | 无码国产精品一区二区免费模式 | 亚洲综合精品香蕉久久网| 野花香在线视频免费观看大全 | 免费国产成人午夜电影| eeuss影院www天堂免费| 亚洲av无码专区在线播放| 在线看片免费人成视久网| 亚洲日韩AV一区二区三区中文| 国产jizzjizz免费看jizz| 国产在线观看无码免费视频| 亚洲视频在线不卡| 日韩激情无码免费毛片| 97在线视频免费公开视频| 亚洲国产精品xo在线观看| 国产午夜免费福利红片| 国产亚洲免费的视频看| 亚洲制服丝袜在线播放| 亚洲午夜国产片在线观看| 日本最新免费网站| 一区二区视频免费观看| 亚洲毛片一级带毛片基地| 免费大黄网站在线观|