浅谈struts2拦截器的使用

拦截器在项目开发中占据重要的位置,我们通常不想直接调用某个对象的某一种方法,而是在调用方法前进行一些操作,在调用方法后在进行一些操作,那么这种逻辑我们可以使用拦截器来实现。
1、拦截器需要学习的类和接口。
     Interceptor接口:可以对这个类进行继承,然后重写init(),destory(),intercept方法。
      AbstractInterceptor类:在这个类中,继承Interceptor接口,因而它已经实现了init(),destory(),intercept方法,在实际应用中我们只需继承此类,然后重写intercept方法即可。
       MethodFilterInterceptor类:可以继承此类,然后重写 doIntercept方法。来实现拦截器。
2、拦截器的配置参考代码如下(在struts.xml下进行配置):

      

    <interceptors>
           <interceptor name="MyInterceptor" class="com.test.interceptor.MyInterceptor">//声明一个拦截器
            <param name="hello">world</param>//为拦截器提供参数(这个根据实际需要也可以不提供)
            </interceptor>
              <interceptor-stack name="myStack">  //声明一个拦截器栈 ,方便扩展     
                   <interceptor-ref name="MyInterceptor"></interceptor-ref> //上面定义的拦截器引用     
                  <interceptor-ref name="defaultStack"></interceptor-ref>//struts2默认的拦截器栈,一定要 加上
             </interceptor-stack>
   </interceptors>
  <default-interceptor-ref name="myStack"></default-interceptor-ref>//将mystack设置为默认的,mystack将 应用于每个action.

你可能感兴趣的:(xml,struts)