记录一次SpringMVC请求一次返回两次数据错误

0

昨天改了很多代码,最后发现发送一次请求,返回数据的时候居然返回了两份。
最后DEBUG看了下堆栈信息发现,原来是过滤器执行了两次doFilter

if(LOGIN_MATCHER.matches(request)) {
	filterChain.doFilter(request, response);
} else if (MATCHER.matches(request)) {
}
filterChain.doFilter(request, response);

改为下面这样就没问题了:

if(LOGIN_MATCHER.matches(request)) {
	filterChain.doFilter(request, response);
} else if (MATCHER.matches(request)) {
} else {
	filterChain.doFilter(request, response);
}

这个问题真的粗心,而且很难发现问题。