今天写程序的时候发生了一件怪异的事情,用spring的aop进行拦截action发现总是不成功,代码是从之前已经测试成功的项目中拷贝过来的。后来又试着去拦截其他类竟然成功了
就是说我用spring的拦截器拦截普通类没问题,可是拦截action却拦截不到,有没有告诉告诉我为什么。下面是拦截的配置信息- <bean id="XunGenLog" class="pro.ict.strutslog.LogWriter"></bean>
- <aop:config>
- <aop:aspect id="logpoint" ref="XunGenLog">
- <aop:pointcut id="log" expression="execution (*com.vega.genealogy.system.album.action.*.*(..))"/>
- <aop:before pointcut-ref="log" method="before"/>
- <aop:after pointcut-ref="log" method="after"/>
- </aop:aspect>
- </aop:config>
复制代码 这个配置信息是拦截action操作,其中action包中都是action类,拦截不成功,没有任何消息也没有任何错误提示
同样的配置文件- <bean id="XunGenLog" class="pro.ict.strutslog.LogWriter"></bean>
- <aop:config>
- <aop:aspect id="logpoint" ref="XunGenLog">
- <aop:pointcut id="log" expression="execution(* com.vega.genealogy.system.album.services.*.*(..))"/>
- <aop:before pointcut-ref="log" method="before"/>
- <aop:after pointcut-ref="log" method="after"/>
- </aop:aspect>
- </aop:config>
复制代码 这个是拦截数据层的。service里面放的都是dao类。这个可以成功,配置完全相同,唯一不同的就是包不一样。有没有高手指教一下action是不是有什么特别的方法进行拦截啊。还是有其他地方需要特殊配置
|