diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/WebJarsResourceResolver.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/WebJarsResourceResolver.java index f487994f44f..9dc5289c02d 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/WebJarsResourceResolver.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/WebJarsResourceResolver.java @@ -63,7 +63,9 @@ public class WebJarsResourceResolver extends AbstractResourceResolver { Resource resolved = chain.resolveResource(request, requestPath, locations); if (resolved == null) { String webJarResourcePath = findWebJarResourcePath(requestPath); - return chain.resolveResource(request, webJarResourcePath, locations); + if(webJarResourcePath != null) { + return chain.resolveResource(request, webJarResourcePath, locations); + } } return resolved; } diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/resource/WebJarsResourceResolverTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/resource/WebJarsResourceResolverTests.java index 4fddeb734e4..20c3fad00d9 100644 --- a/spring-webmvc/src/test/java/org/springframework/web/servlet/resource/WebJarsResourceResolverTests.java +++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/resource/WebJarsResourceResolverTests.java @@ -99,7 +99,7 @@ public class WebJarsResourceResolverTests { } @Test - public void resolverUrlWebJarResourceNotFound() { + public void resolveUrlWebJarResourceNotFound() { String file = "/something/something.js"; given(this.chain.resolveUrlPath(file, this.locations)).willReturn(null); @@ -123,6 +123,18 @@ public class WebJarsResourceResolverTests { verify(this.chain, times(1)).resolveResource(this.request, file, this.locations); } + @Test + public void resolveResourceNotFound() { + String file = "/something/something.js"; + given(this.chain.resolveUrlPath(file, this.locations)).willReturn(null); + + Resource actual = this.resolver.resolveResource(this.request, file, this.locations, this.chain); + + assertNull(actual); + verify(this.chain, times(1)).resolveResource(this.request, file, this.locations); + verify(this.chain, never()).resolveResource(this.request, null, this.locations); + } + @Test public void resolveResourceWebJar() { Resource expected = mock(Resource.class);