熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

10分鐘學懂Struts 2.0 攔截器

2013-11-23 20:40:53  來源: Java開源技術 

  簡介

  在Struts 中的攔截器要實現comopensymphonyxworkinterceptorInterceptor接口在strutsxml中配置可以用攔截器來完成調用Action業務邏輯之前的預處理或是之後的善後處理還可以通過配置多個攔截器來滿足action需求

  Interceptor stack是由多個攔截器組成的攔截器組在攔截器組中可以對每一個攔截器映射所有進行配置攔截器時不必對每一個攔截器進行配置而只需對interceptor stack進行配置即可在struts 中默認配置了一個全局interceptor stack包括Exception InterceptorValidation Interceptor等

  實例

  在這個實例當中我將配置一個時間攔截器用來統計每個action的請求時間

   package interceptor;      
     
import comopensymphonyxworkActionInvocation;      
import comopensymphonyxworkinterceptorInterceptor;      
/** *//**
*author by ;
*/     
public class ActionTimer implements Interceptor{      
    public String intercept(ActionInvocation next) throws Exception {      
        long t = SystemcurrentTimeMillis();      
        String s= nextinvoke();      
        long t = SystemcurrentTimeMillis();      
        Systemoutprintln(Action +nextgetAction()getClass()getName()+ took +(tt)+ millisecs);      
        return s;      
    }      
          
    public void init() {      
    }      
    public void destroy() {      
    }      
}

  strutsxml

   <?xml version= encoding=UTF ?>     
<!DOCTYPE struts PUBLIC      
    //Apache Software Foundation//DTD Struts Configuration //EN      
    dtd>     
<struts>     
    <package name=interceptor extends=strutsdefault>     
        <interceptors>     
            <interceptor name=actiontimer     
                class=interceptorActionTimer />     
     
            <interceptorstack name=demostack>     
                <interceptorref name=defaultStack />     
                <interceptorref name=actiontimer />     
            </interceptorstack>     
        </interceptors>     
        <defaultinterceptorref name=demostack />     
        <action name=InterceptorDemo     
            class=interceptoractionInterceptorDemo>     
            <result>;/interceptor/interceptordemojsp</result>     
        </action>     
    </package>     
     
</struts> 

  interceptordemojsp

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


From:http://tw.wingwit.com/Article/program/Java/ky/201311/28890.html
  • 上一篇文章:

  • 下一篇文章:
  • Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.