> > > > > a1 = http://foo.bar:8080/app/CurrentPage > s1 = http://foo.bar:8080/app/CurrentPage > > a2 = http://foo.bar:8080/app/ > s2 = http://CurrentPage/ <http://currentpage/> > > > a1 , s1 are correct , > a2 , s2 are totally wrong. >
a1 , s1 en a2 are all correct. but why s2 is a result when a2 is the input for that toAbsolutePath is weird. Because quickly looking at the code it should just doe a2 + relativePath to the CurrentPage == s1... Jus debug it once and go into that method * final * StringBuffer result; *if* (requestPath.endsWith("/")) { result = *new* StringBuffer(requestPath); } *else* { // Remove everything after last slash (but not slash itself) result = *new* StringBuffer(requestPath.substring(0, requestPath.lastIndexOf('/') + 1)); } thats the code and a1 goes into the else and a2 goes into the if.. But why would that result in s2.