通过spring aop创建一个拦截器,applicationContext.xml文件配置如下
<bean id="SpringAOPIntercepter" class="com.interceptor.SpringIntercepter" />
<bean name= "springAOPAutoProxy" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name= "beanNames" >
<value>helloWorldAction</value>
</property>
<property name= "interceptorNames" >
<list>
<value>SpringAOPIntercepter</value>
</list>
</property>
</bean>
其中SpringIntercepter是拦截器类,实现MethodBeforeAdvice。在发布到tomcat时出现nested exception is java.lang.AbstractMethodError: org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator.determineConstructor错误。一般出现这种问题是由于jar库问题。查看tomcat运行目录,发现对应的spring aop库文件存在,但是与工程对应的版本不同,工程spring版本为2.0.5,而aop库文件版本为3.0.5。从maven网站下载对应版本的jar文件替换就能解决。