costin 01/08/25 11:11:12
Modified: src/facade22/org/apache/tomcat/facade
RequestDispatcherImpl.java
Log:
Fix for 3162, requestDispatcher.forward must reset PathInfo and the other
path related info in the passed request.
Revision Changes Path
1.20 +7 -1
jakarta-tomcat/src/facade22/org/apache/tomcat/facade/RequestDispatcherImpl.java
Index: RequestDispatcherImpl.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat/src/facade22/org/apache/tomcat/facade/RequestDispatcherImpl.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- RequestDispatcherImpl.java 2001/08/21 04:56:44 1.19
+++ RequestDispatcherImpl.java 2001/08/25 18:11:12 1.20
@@ -222,12 +222,18 @@
// set the context - no need to fire context parsing again
realRequest.setContext( context );
-
+
realRequest.requestURI().setString( context.getPath() + path );
+ // # 3162
+ realRequest.unparsedURI().recycle();
+ //realRequest.query().recycle();
+ realRequest.servletPath().recycle();
+ realRequest.pathInfo().recycle();
// merge query string as specified in specs - before, it may affect
// the way the request is handled by special interceptors
if( queryString != null ) {
+ realRequest.queryString().setString(queryString);
// Append queryString to the request parameters -
// the original request is changed.
realRequest.parameters().processParameters( queryString );