Decode the path provided to the request dispatcher by default. The reasoning is:
- the servlet spec is clear (see 9.1.1) that path can include a query string;
- the query string is delimited by '?';
- '?' is a valid character in the path (if it is encoded);
- users may want to use '?'in the path;
- therefore users need to be able to provide an encoded path;
- therefore the RequestDispatcher needs to decode the path.

This change should be transparent unless an application is passing an unencoded % to the request dispatcher which should be fairly rare.

The behaviour is configurable via a Context attribute so the previous behaviour can easily be restored.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1754281 13f79535-47bb-0310-9956-ffa450edef68
11 files changed