springmvc interceptor preHandle()执行多次

熊英 发布于 2014/04/17 21:12
阅读 2K+
收藏 2

 自己写了个拦截器,实现org.springframework.web.servlet.HandlerInterceptor,preHandle()方法会执行多次

配置用的

<mvc:interceptors>
    <bean class="com.xx.interceptor.xxxInterceptor" />    
</mvc:interceptors>

加载中
0
鱼可夫斯基
鱼可夫斯基

资源请求没有过滤

// 开头添加
if (handler instanceof ResourceHttpRequestHandler)
	return true;



0
fly2xiang
fly2xiang

拦截器会对页面用到的外部CSS,js,图片文件也进行拦截

if(o instanceof DefaultServletHttpRequestHandler){
            return true;
        }



0
白开水的品味
白开水的品味

遇到了同样的情况不知道你是不是这种情况。

排查spring-mvc.xml后发现注解扫描的配置有两项:

<mvc:annotation-driven />
	<!-- 只扫描Controller注解 -->
	<context:component-scan base-package="com.xxx">
		<context:include-filter type="annotation"
			expression="org.springframework.stereotype.Controller" />
	</context:component-scan>



注释掉<mvc:annotation-driven />后启动加载controller和拦截器就都正常了 

返回顶部
顶部