spring拦截器配置问题<mvc:annotation-driven/>

原始配置如下:
<mvc:annotation-driven />

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
	<property name="interceptors">
		<list>
			<bean class="cn.com.songjy.interceptors.ResponseMessageConverter"></bean>
		</list>
	</property>
</bean>

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
	<property name="customArgumentResolvers">
		<list>
			<bean class="cn.com.songjy.commons.MapArgumentResolver"></bean>
		</list>
	</property>
</bean>

<mvc:interceptors>
	<bean class="cn.com.songjy.interceptor.ParamValidateInterceptor"/>
	<mvc:interceptor>
		<!-- 表示符合/company/*这样的模式才拦截 -->
		<mvc:mapping path="/company/*" />
		<bean class="cn.com.songjy.interceptors.VisitInterceptor" />
	</mvc:interceptor>
</mvc:interceptors>


但是配置没有生效,参阅 springMVC之annotation优化后可知出现的原因是当配置了<mvc:annotation-driven/>后,会自动加载org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping和org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter,所以如果显示的配置则需去掉配置<mvc:annotation-driven/>,最后的配置如下:
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
	<property name="interceptors">
		<list>
			<bean class="cn.com.songjy.interceptors.ResponseMessageConverter"></bean>
		</list>
	</property>
</bean>

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
	<property name="customArgumentResolvers">
		<list>
			<bean class="cn.com.songjy.commons.MapArgumentResolver"></bean>
		</list>
	</property>
</bean>

<mvc:interceptors>
	<bean class="cn.com.songjy.interceptor.ParamValidateInterceptor"/>
	<mvc:interceptor>
		<!-- 表示符合/company/*这样的模式才拦截 -->
		<mvc:mapping path="/company/*" />
		<bean class="cn.com.songjy.interceptors.VisitInterceptor" />
	</mvc:interceptor>
</mvc:interceptors>


DefaultAnnotationHandlerMapping

<mvc:annotation-driven>和DefaultAnnotationHandlerMapping 配置教训

SpringMVC拦截器简单使用

基于注解风格的Spring-MVC的拦截器

Spring3 MVC 深入研究

解决Spring MVC 对AOP不起作用的问题

猜你喜欢

转载自songjianyong.iteye.com/blog/1939020