ApplicationDispatcher.requestURI starting with two slashes

P

Peter Horlock

Hi,

we have written a litter filter that rewrites incoming request, as
well as by using a response Wrapper object that will rewrite the
encodeUrl Methods so that outgoing urls will also be rewritten.

So the code looks something like this:
String rewriteURL = createRewriteURL(request);
RequestDispatcher forwardDispatcher =
request.getRequestDispatcher(rewriteURL);
forwardDispatcher.forward(request, toRewriteResponse(request, new
ResponseWrapperClass(request, response)));

This code works perfectly under some context path, lets say
"server:port/example/...
However, when run on the context root "/", it fails.

I also found a / or "the" bug, in the forwardDispatcher object, when
debugging, the private requestURI attribute
starts with two "/" slashes instead of just one. Example:
"//MyPage.html"

---------
request.getRequestDispatcher(rewriteURL) is handled internally by
Tomcat code, but by manually adding some of it's source code, I was
able to debug into the following lines of code that get called when
request.getRequestDispatcher(rewriteURL) is called:

public class ApplicationContext
implements ServletContext {
[...]
private ThreadLocal localUriMB = new ThreadLocal();
[...]

public RequestDispatcher getRequestDispatcher(String path) {
[...]
MessageBytes uriMB = (MessageBytes) localUriMB.get();
[...]
CharChunk uriCC = uriMB.getCharChunk();

[...]
return new ApplicationDispatcher(wrapper, uriCC.toString(),
wrapperPath, pathInfo, queryString, null);
}

When the Dispatcher is created, the uricCC.toString() contains the two
slashes ("//").
------------
However, where do they come from? What's going on here / what's going
wrong here? I am really confused, sorry!

Thanks in advance,

Peter
 
L

Lew

Problem solved. It was a problem with the Eclipse Tomcat Plugin! :-(

Thank you, I'm sure that information will be very helpful to the next person
who faces this issue.

Kidding aside, would you mind terribly sharing just a little bit of detail so
the rest of us may benefit?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top