一、拦截器使用
1.创建拦截器
编写class文件,继承AbstractInterceptor,重写intercept(ActionInvocation invocation)
long start=System.currentTimeMillis(); //执行action前
String result=invocation.invoke(); //执行下一个拦截器,或者action,这里是action
long end=System.currentTimeMillis(); //执行action后
long time=end-start;
System.out.println("执行timer花费的时间为"+time+"ms");
return result;
2.在struts.xml中配置拦截器
<package name="default" namespace="/" extends="struts-default">
<!-- 拦截器注册 -->
<interceptors>
<interceptor name="mytimer" class="com.imooc.interceptor.TimerInterceptor"></interceptor>
</interceptors>
<action>
<!-- 拦截器引用 -->
<interceptor-ref name="mytimer"></interceptor-ref>
</action>
</package>
二、内建拦截器
在struts核心包:struts2-core-2.3.24.jar中struts-default.xml中配置好的
1.定义的包继承struts-default,没有自定义拦截器时,defaultStatck是默认拦截器
2.当为action指定某个拦截器,默认拦截器则不起作用
可手工引用
<interceptor-ref name="defaultStack"></interceptor-ref>
3.拦截器栈的拦截器顺序很重要,一般先引用默认的defaultStatck,再引用自己的
1.创建拦截器
编写class文件,继承AbstractInterceptor,重写intercept(ActionInvocation invocation)
long start=System.currentTimeMillis(); //执行action前
String result=invocation.invoke(); //执行下一个拦截器,或者action,这里是action
long end=System.currentTimeMillis(); //执行action后
long time=end-start;
System.out.println("执行timer花费的时间为"+time+"ms");
return result;
2.在struts.xml中配置拦截器
<package name="default" namespace="/" extends="struts-default">
<!-- 拦截器注册 -->
<interceptors>
<interceptor name="mytimer" class="com.imooc.interceptor.TimerInterceptor"></interceptor>
</interceptors>
<action>
<!-- 拦截器引用 -->
<interceptor-ref name="mytimer"></interceptor-ref>
</action>
</package>
二、内建拦截器
在struts核心包:struts2-core-2.3.24.jar中struts-default.xml中配置好的
1.定义的包继承struts-default,没有自定义拦截器时,defaultStatck是默认拦截器
2.当为action指定某个拦截器,默认拦截器则不起作用
可手工引用
<interceptor-ref name="defaultStack"></interceptor-ref>
3.拦截器栈的拦截器顺序很重要,一般先引用默认的defaultStatck,再引用自己的