Sorry about the delay! I got caught up finishing another ticket. Mm, going to be braindumping a bit.
Jetty used to return null when it detected any "javax.servlet.include.*" attribute in a forward. This caused problems in http://jira.springframework.org/browse/SPR-3682, where it appeared that Jetty would return wrong values for certain forward attributes (the returning of the null masked the actual attribute value).
In the sample project submitted here, the opposite appears to be the case: returning a value for javax.servlet.include.servlet_path masks the forwarded value of the request. (The previous value of null made it fall back upon the value from request.getServletPath()).
"include.servlet_path" (original): /Home.do – returned in Jetty6.1.5
request.servletPath() (forwarded): /home.jsp – returned in Jetty6.1.4
The simplest way for me seems to be to return null for key.equals("javax.servlet.include.servlet_path") within ForwardAttributes#getAttribute (unlike the previous code, it would only affect the include servlet_path, not all include attributes.)
Otherwise, in ServletHandler, you could check whether the request is a forward which contains an __INCLUDE_SERVLET_PATH, and update the include.servlet_path attribute at that point.
I've been trying to decide which of these two approaches works bette, but unfortunately, I haven't been able to figure out from the information given in SPR-3682 exactly what was happening, so I can't tell whether either of these two approaches would (re)introduce the bug described there....