diff --git a/org.springframework.web/src/main/java/org/springframework/web/util/UrlPathHelper.java b/org.springframework.web/src/main/java/org/springframework/web/util/UrlPathHelper.java index 43059c09c6a..c4949ae9e80 100644 --- a/org.springframework.web/src/main/java/org/springframework/web/util/UrlPathHelper.java +++ b/org.springframework.web/src/main/java/org/springframework/web/util/UrlPathHelper.java @@ -158,8 +158,10 @@ public class UrlPathHelper { else { // Special case: URI is different from servlet path. // Can happen e.g. with index page: URI="/", servletPath="/index.html" - // Use servlet path in this case, as it indicates the actual target path. - return servletPath; + // Use path info if available, as it indicates an index page within + // a servlet mapping. Otherwise, use the full servlet path. + String pathInfo = request.getPathInfo(); + return (pathInfo != null ? pathInfo : servletPath); } }