From 69c4cdf975eac437e832402f0363e6ca89f3eefb Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Tue, 20 Apr 2010 11:15:47 +0000 Subject: [PATCH] remove trailing servlet path slash on WebSphere only (SPR-7064) --- .../java/org/springframework/web/util/UrlPathHelper.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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 1a83301399..10349f91fc 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 @@ -233,8 +233,10 @@ public class UrlPathHelper { if (servletPath == null) { servletPath = request.getServletPath(); } - if (servletPath.length() > 1 && servletPath.endsWith("/")) { - // Probably on WebSphere: removing trailing slash... + if (servletPath.length() > 1 && servletPath.endsWith("/") && + request.getAttribute(WEBSPHERE_URI_ATTRIBUTE) != null) { + // On WebSphere, for a "/foo/" case that would be "/foo" on all other servlet containers: + // removing trailing slash, proceeding with that slash as final path mapping... servletPath = servletPath.substring(0, servletPath.length() - 1); } return servletPath;