jackyrong

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  当struts将action托管给spring后,,有个优点是可以将spring的AOP拦截器用于struts的动作
比如创建一个日志记录拦截器

import org.springframework.aop.MethodBeforeAdvice;

import java.lang.reflect.Method;

public class LoggingInterceptor implements MethodBeforeAdvice {

 public void before(Method method, Object[] objects, Object o)
   throws Throwable {
  System.out.println("logging before: " + o.getClass());
 }
}


  要使用该拦截器的话,需要在applicationContext.xml中定义该拦截器的对象,如
 

<!-- 配置拦截器 -->
 <bean name="logger" class="com.demo.spring.aop.LoggingInterceptor" />

 <!-- 配置拦截器代理 -->
 <bean name="loggingAutoProxy"
  class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
  <property name="beanNames">
   <list>
    <value>/login</value>
    <value>/register</value>
   </list>
  </property>
  <property name="interceptorNames">
   <list>
    <value>logger</value>
   </list>
  </property>
 </bean>


  如果要拦截其它struts侗族,则只需要在beanNames下附加<value>标记增加相关的 strus动作即可,从而达到一个简单的spring aop
拦截器的目的
posted on 2008-07-17 15:24  jackyrong的世界  阅读(3419)  评论(0编辑  收藏  举报