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>
posted @ 2014-07-18 10:48  楪夕  阅读(196)  评论(0编辑  收藏  举报