Struts2拦截器

一.自定义拦截器:

struts2实现拦截器的方式有两种:

①.继承AbstractInterceptor类

②.实现Interceptor接口

1 @Override

2     public String intercept(ActionInvocation arg0) throws Exception {

3         System.out.println("开始记录日志...");

4         //继续往下执行

5         String resultCode = arg0.invoke();

6         System.out.println("结束记录日志...");

7         return resultCode;

8     }

 

二.在struts.xml中配置拦截器

 1 <?xml version="1.0" encoding="UTF-8" ?>

 2 <!DOCTYPE struts PUBLIC

 3     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

 4     "http://struts.apache.org/dtds/struts-2.0.dtd">

 5 

 6 <struts>

 7     <!-- 配置常量 -->

 8     <constant name="struts.configuration.xml.reload" value="true" />

 9     

10     <package name="user-package" extends="struts-default">

11     

12         <!-- 定义拦截器 -->

13         <interceptors>

14             <!-- 日志拦截器 -->

15             <interceptor name="myLogInterceptor" class="com.xyy.action.MyLogInterceptor" />

16             <!-- 安全级别拦截器 -->

17             <interceptor name="mySecurityInterceptor" class="com.xyy.action.MySecurityInterceptor" />

18             

19             <!-- 定义拦截器栈 -->

20             <interceptor-stack name="myInterceptorStack">

21                 <interceptor-ref name="defaultStack" />

22                 <interceptor-ref name="myLogInterceptor"/>

23                 <interceptor-ref name="mySecurityInterceptor"/>

24             </interceptor-stack>

25         </interceptors>    

26         

27         <!--第二种方式: 配置默认拦截器,这样就不必为每个action指定 -->

28         <default-interceptor-ref name="myInterceptorStack" />

29     

30         <action name="user_*" class="com.xyy.action.UserAction" method="{1}">

31             <!-- 第一种方式:分别配置,顺序代表执行顺序 

32                 <interceptor-ref name="defaultStack" />

33                 <interceptor-ref name="myLogInterceptor"/>

34                 <interceptor-ref name="mySecurityInterceptor"/>

35             -->

36             <result>/upload_ok.jsp</result>

37         </action>

38     </package>

39 </struts>

你可能感兴趣的:(struts2拦截器)