I'm not that familiar with struts, but is sounds like a requestDispatcher is being used to forward the request from
http:/bla/bla.do to http://bla/bla.jsp.
If a RequestDispatcher.forward is being used, then Jetty is implementing the correct behaviour - and you can't find out the original request URL (I have suggested a change for the 2.4 servlet spec, which I think has been accepted that will change this).
The question is - how is tomcat working? Which version of
tomcat are you using???
Can you verify if struts is doing a RequestDispatcher.forward?
Note if it is, then there is a way in Jetty that you can get the original request. The request that you receive is just a standard request wrapper around the original request (and any other wrappers that filters may have added). So you can unwrap the request to find the original request and then call getRequestURI on it. Not very portable - but should not do any harm on other
containers if you write it correctly.
Alternately, write a filter that does a getRequestURL and stuffs it
in a request attribute. Portable and can be removed once the 2.4 spec is available.