黑马程序员技术交流社区

标题: spring AOP拦截action 头大了 [打印本页]

作者: 王海龙    时间: 2013-2-23 23:42
标题: spring AOP拦截action 头大了
今天写程序的时候发生了一件怪异的事情,用spring的aop进行拦截action发现总是不成功,代码是从之前已经测试成功的项目中拷贝过来的。后来又试着去拦截其他类竟然成功了
就是说我用spring的拦截器拦截普通类没问题,可是拦截action却拦截不到,有没有告诉告诉我为什么。下面是拦截的配置信息
  1. <bean id="XunGenLog" class="pro.ict.strutslog.LogWriter"></bean>

  2. <aop:config>
  3. <aop:aspect id="logpoint" ref="XunGenLog">
  4. <aop:pointcut id="log" expression="execution         (*com.vega.genealogy.system.album.action.*.*(..))"/>
  5. <aop:before pointcut-ref="log" method="before"/>
  6. <aop:after pointcut-ref="log" method="after"/>
  7. </aop:aspect>
  8. </aop:config>
复制代码
这个配置信息是拦截action操作,其中action包中都是action类,拦截不成功,没有任何消息也没有任何错误提示

同样的配置文件
  1. <bean id="XunGenLog" class="pro.ict.strutslog.LogWriter"></bean>

  2. <aop:config>
  3. <aop:aspect id="logpoint" ref="XunGenLog">
  4. <aop:pointcut id="log" expression="execution(* com.vega.genealogy.system.album.services.*.*(..))"/>
  5. <aop:before pointcut-ref="log" method="before"/>
  6. <aop:after pointcut-ref="log" method="after"/>
  7. </aop:aspect>
  8. </aop:config>
复制代码
这个是拦截数据层的。service里面放的都是dao类。这个可以成功,配置完全相同,唯一不同的就是包不一样。有没有高手指教一下action是不是有什么特别的方法进行拦截啊。还是有其他地方需要特殊配置

作者: 杨杨    时间: 2013-2-24 10:11
应该是
execution         (*com.vega.genealogy.system.album.action.*.*(..))"/
的问题
你换成
(*com.vega.genealogy.system.album.action.*.*(..))"试试在检查一下包是否正确
作者: 陈丽莉    时间: 2013-2-25 09:28
1L的回答结果如何? 满意的话记得关闭问题,还有问题的话继续追问,请不要放着问题不管~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2