From 6d075a4c173f79cf87342f4468fbc252e7aaabfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Kohlschu=CC=88tter?= Date: Sat, 7 Jan 2023 21:10:37 +0100 Subject: [PATCH] ee10: DefaultServlet should initialize ResourceFactory unconditionally MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently, unlike ee9 and ee8, ee10's DefaultServlet initializes _resourceFactory only when either "baseResource" or "resourceBase" are set as init parameters. In embedded jetty, the resource base can also be set using ContextHandler#setBaseResource(Resource), which means that DefaultServlet would not initialize correctly and therefore prevent operations like overriding the jetty-dir.css stylesheet by throwing an otherwise unexplicable NullPointerException. Change ee10 DefaultServlet to always initialize ResourceFactory, like the ee9 and ee8 variants do. Signed-off-by: Christian Kohlschütter --- .../java/org/eclipse/jetty/ee10/servlet/DefaultServlet.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/DefaultServlet.java b/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/DefaultServlet.java index 563f78e1ac8..f832731f322 100644 --- a/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/DefaultServlet.java +++ b/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/DefaultServlet.java @@ -108,12 +108,13 @@ public class DefaultServlet extends HttpServlet _resourceService.setWelcomeFactory(_resourceService); _baseResource = servletContextHandler.getBaseResource(); + _resourceFactory = ResourceFactory.closeable(); + String rb = getInitParameter("baseResource", "resourceBase"); if (rb != null) { try { - _resourceFactory = ResourceFactory.closeable(); _baseResource = _resourceFactory.newResource(rb); } catch (Exception e)