<!--配置自定义拦截器-->
<interceptor name="拦截器名" class="实现类">
<param name>..</param>
...
</interceptor>
<!--配置拦截器栈,用于一次性过引用多个拦截器-->
<interceptor-stack name="拦截器栈名">
<interceptor-ref name="拦截器1" />
<interceptor-ref name="拦截器2">
<param name>..</param>
...
</interceptor-ref>
<!--也可以引用拦截器栈-->
<interceptor-ref name="拦截器栈名" />
</interceptor-stack>
<package ..>
<!--配置包下所有Action的默认拦截器--》
<!--如果Action配置了自己的拦截器,那么默认拦截器将不会配置到该Action下-->
<default-interceptor-ref name="defaultStack" />
<action ...>
<!--配置自己的interceptor拦截器-->
<interceptor-ref name="myInterceptor" />
<!--因为已经配置了自己的拦截器,所以包默认配置拦截器将不作用,因此需要自己显示配置defaultStack系统默认拦截器-->
<interceptor-ref name="defaultStack" />
</action>
</package>
public interface Interceptor extends Serializable
{
//初始化拦截器的回调方法
void init() ;
//实现拦截的处理方法
String intercept(ActionInvocation invocation) throws Exception ;
//销毁拦截器之前的回调方法
void destroy() ;
}
public class simpleInterceptor extends AbstractInterceptor
{
private String username ;
private String password ;
//omit setter and getter methods
@Override
public String intercept(ActionInvocation invocation) throws Exception
{
//获取被拦截的Action实例
LoginAction action = (LoginAction)invocation.getAction() ;
System.out.println("开始拦截:" + new Date()) ;
//取得开始执行Action处理方法的时间
long start = System.currentTimeMillis() ;
//回调执行Action被拦截的处理方法
String result = invocation.invoke() ;
System.out.println("结束执行:" + new Date()) ;
//取得执行Action处理方法之后的时间
Long end = System.currentTimeMillis() ;
System.out.println("执行用时:" + (end-start) +"ms") ;
return result ;
}
}
<interceptor name="simpleIntercept2" class="com.chengxi.SimpleInterceptor2"> <param name="includeMethods">login,execute</param> <param name="excludeMethods">regiset</param> </interceptor>
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有