From ec7dc0fda555c04a8f178e7237566c5a7175296a Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Thu, 30 Sep 2021 15:13:51 +1000 Subject: [PATCH] backported fix for #6263 from 1c05b0bcb181c759e98b060bded0b9376976b055, but no tests Signed-off-by: Greg Wilkins --- .../org/eclipse/jetty/servlets/WelcomeFilter.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/WelcomeFilter.java b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/WelcomeFilter.java index a8c3650360d8..9a164a6ffc6c 100644 --- a/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/WelcomeFilter.java +++ b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/WelcomeFilter.java @@ -27,6 +27,7 @@ import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; +import org.eclipse.jetty.util.URIUtil; /* ------------------------------------------------------------ */ /** Welcome Filter @@ -42,7 +43,8 @@ * * Requests to "/some/directory" will be redirected to "/some/directory/". */ -public class WelcomeFilter implements Filter +@Deprecated +public class WelcomeFilter implements Filter { private String welcome; @@ -59,11 +61,16 @@ public void doFilter(ServletRequest request, FilterChain chain) throws IOException, ServletException { - String path=((HttpServletRequest)request).getServletPath(); - if (welcome!=null && path.endsWith("/")) - request.getRequestDispatcher(path+welcome).forward(request,response); + String path = ((HttpServletRequest)request).getServletPath(); + if (welcome != null && path.endsWith("/")) + { + String uriInContext = URIUtil.encodePath(URIUtil.addPaths(path, welcome)); + request.getRequestDispatcher(uriInContext).forward(request, response); + } else + { chain.doFilter(request, response); + } } public void destroy() {}