From 81273bdf9a0a86dfb8d2572263844eff2b5b4e9c Mon Sep 17 00:00:00 2001 From: ayudovin Date: Thu, 24 Jan 2019 15:19:25 +0300 Subject: [PATCH 1/2] Handle AccessControlException in JspTemplateAvailabilityProvider See gh-15778 --- .../web/servlet/JspTemplateAvailabilityProvider.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/JspTemplateAvailabilityProvider.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/JspTemplateAvailabilityProvider.java index d0b3465d282..101570562f2 100755 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/JspTemplateAvailabilityProvider.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/JspTemplateAvailabilityProvider.java @@ -17,6 +17,7 @@ package org.springframework.boot.autoconfigure.web.servlet; import java.io.File; +import java.security.AccessControlException; import org.springframework.boot.autoconfigure.template.TemplateAvailabilityProvider; import org.springframework.core.env.Environment; @@ -30,6 +31,7 @@ import org.springframework.util.ClassUtils; * @author Andy Wilkinson * @author Stephane Nicoll * @author Madhura Bhave + * @author Artsiom Yudovin * @since 1.1.0 */ public class JspTemplateAvailabilityProvider implements TemplateAvailabilityProvider { @@ -38,11 +40,17 @@ public class JspTemplateAvailabilityProvider implements TemplateAvailabilityProv public boolean isTemplateAvailable(String view, Environment environment, ClassLoader classLoader, ResourceLoader resourceLoader) { if (ClassUtils.isPresent("org.apache.jasper.compiler.JspConfig", classLoader)) { + String resourceName = getResourceName(view, environment); if (resourceLoader.getResource(resourceName).exists()) { return true; } - return new File("src/main/webapp", resourceName).exists(); + + try { + return new File("src/main/webapp", resourceName).exists(); + } + catch (AccessControlException ex) { + } } return false; } From c5675de66602778c362cef67fe5357eba634a674 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Thu, 31 Jan 2019 16:21:48 +0100 Subject: [PATCH 2/2] Polish "Handle AccessControlException in JspTemplateAvailabilityProvider" Closes gh-15778 --- .../web/servlet/JspTemplateAvailabilityProvider.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/JspTemplateAvailabilityProvider.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/JspTemplateAvailabilityProvider.java index 101570562f2..edca99ef7c5 100755 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/JspTemplateAvailabilityProvider.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/JspTemplateAvailabilityProvider.java @@ -31,7 +31,6 @@ import org.springframework.util.ClassUtils; * @author Andy Wilkinson * @author Stephane Nicoll * @author Madhura Bhave - * @author Artsiom Yudovin * @since 1.1.0 */ public class JspTemplateAvailabilityProvider implements TemplateAvailabilityProvider { @@ -40,12 +39,10 @@ public class JspTemplateAvailabilityProvider implements TemplateAvailabilityProv public boolean isTemplateAvailable(String view, Environment environment, ClassLoader classLoader, ResourceLoader resourceLoader) { if (ClassUtils.isPresent("org.apache.jasper.compiler.JspConfig", classLoader)) { - String resourceName = getResourceName(view, environment); if (resourceLoader.getResource(resourceName).exists()) { return true; } - try { return new File("src/main/webapp", resourceName).exists(); }