From 8b8d06ab4c832ec1dfc9e625a2be0495c8ebc0b7 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) git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3274 50f2f4bb-b051-0410-bef5-90022cba6387 --- .../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 1a83301399f..10349f91fce 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;