|
|
|
@ -27,7 +27,6 @@ import javax.servlet.http.HttpServletRequest;
@@ -27,7 +27,6 @@ import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
|
|
|
|
|
|
import org.springframework.beans.BeansException; |
|
|
|
|
import org.springframework.beans.factory.BeanFactoryUtils; |
|
|
|
|
import org.springframework.util.AntPathMatcher; |
|
|
|
|
import org.springframework.util.Assert; |
|
|
|
|
import org.springframework.util.CollectionUtils; |
|
|
|
@ -165,13 +164,9 @@ public abstract class AbstractUrlHandlerMapping extends AbstractHandlerMapping {
@@ -165,13 +164,9 @@ public abstract class AbstractUrlHandlerMapping extends AbstractHandlerMapping {
|
|
|
|
|
@Override |
|
|
|
|
protected void initInterceptors() { |
|
|
|
|
super.initInterceptors(); |
|
|
|
|
Map<String, MappedInterceptor> mappedInterceptors = BeanFactoryUtils.beansOfTypeIncludingAncestors( |
|
|
|
|
getApplicationContext(), MappedInterceptor.class, true, false); |
|
|
|
|
if (!mappedInterceptors.isEmpty()) { |
|
|
|
|
this.mappedInterceptors = new MappedInterceptors(mappedInterceptors.values().toArray( |
|
|
|
|
new MappedInterceptor[mappedInterceptors.size()])); |
|
|
|
|
if (mappedInterceptors == null) { |
|
|
|
|
this.mappedInterceptors = MappedInterceptors.createFromDeclaredBeans(getApplicationContext()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -203,20 +198,6 @@ public abstract class AbstractUrlHandlerMapping extends AbstractHandlerMapping {
@@ -203,20 +198,6 @@ public abstract class AbstractUrlHandlerMapping extends AbstractHandlerMapping {
|
|
|
|
|
handler = buildPathExposingHandler(rawHandler, lookupPath, lookupPath, null); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (handler != null && this.mappedInterceptors != null) { |
|
|
|
|
HandlerInterceptor[] mappedInterceptors = |
|
|
|
|
this.mappedInterceptors.getInterceptors(lookupPath, this.pathMatcher); |
|
|
|
|
if (mappedInterceptors.length != 0) { |
|
|
|
|
HandlerExecutionChain chain; |
|
|
|
|
if (handler instanceof HandlerExecutionChain) { |
|
|
|
|
chain = (HandlerExecutionChain) handler; |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
chain = new HandlerExecutionChain(handler); |
|
|
|
|
} |
|
|
|
|
chain.addInterceptors(mappedInterceptors); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (handler != null && logger.isDebugEnabled()) { |
|
|
|
|
logger.debug("Mapping [" + lookupPath + "] to " + handler); |
|
|
|
|
} |
|
|
|
@ -306,6 +287,19 @@ public abstract class AbstractUrlHandlerMapping extends AbstractHandlerMapping {
@@ -306,6 +287,19 @@ public abstract class AbstractUrlHandlerMapping extends AbstractHandlerMapping {
|
|
|
|
|
protected void validateHandler(Object handler, HttpServletRequest request) throws Exception { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
protected HandlerExecutionChain getHandlerExecutionChain(Object handler, HttpServletRequest request) { |
|
|
|
|
HandlerExecutionChain chain = super.getHandlerExecutionChain(handler, request); |
|
|
|
|
if (this.mappedInterceptors != null) { |
|
|
|
|
String lookupPath = urlPathHelper.getLookupPathForRequest(request); |
|
|
|
|
HandlerInterceptor[] handlerInterceptors = mappedInterceptors.getInterceptors(lookupPath, pathMatcher); |
|
|
|
|
if (handlerInterceptors.length > 0) { |
|
|
|
|
chain.addInterceptors(handlerInterceptors); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return chain; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Build a handler object for the given raw handler, exposing the actual |
|
|
|
|
* handler, the {@link #PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE}, as well as |
|
|
|
|