You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2002/06/09 05:08:17 UTC

DO NOT REPLY [Bug 9722] New: - java.lang.ClassCastException: org.apache.catalina.connector.HttpRequestFacade

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9722>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9722

java.lang.ClassCastException: org.apache.catalina.connector.HttpRequestFacade

           Summary: java.lang.ClassCastException:
                    org.apache.catalina.connector.HttpRequestFacade
           Product: Tomcat 4
           Version: 4.0.3 Final
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Catalina
        AssignedTo: tomcat-dev@jakarta.apache.org
        ReportedBy: davec@sybase.com


If a servlet uses context.getRequestDispatcher(...).include(request, response)
to include a JSP page, and that JSP contains a <jsp:include page="..."/> then we
get a ClassCastException from:
Stack Trace: java.lang.ClassCastException:
org.apache.catalina.connector.HttpRequestFacade
       at
org.apache.catalina.core.ApplicationDispatcher.unwrapRequest(ApplicationDispatcher.java:845)
       at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:575)
       at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:497

Here is a fix that worked for me:

 % diff -u ApplicationDispatcher.java.save ApplicationDispatcher.java
--- ApplicationDispatcher.java.save     Sat Jun  8 16:14:36 2002
+++ ApplicationDispatcher.java  Sat Jun  8 16:16:44 2002
@@ -93,6 +93,7 @@
 import org.apache.catalina.Response;
 import org.apache.catalina.Wrapper;
 import org.apache.catalina.connector.ResponseFacade;
+import org.apache.catalina.connector.RequestFacade;
 import org.apache.catalina.core.StandardWrapper;
 import org.apache.catalina.util.InstanceSupport;
 import org.apache.catalina.util.StringManager;
@@ -826,7 +827,8 @@
         while (current != null) {
 
             // If we run into the container request we are done
-            if (current instanceof Request)
+            if (current instanceof Request ||
+               current instanceof RequestFacade)
                 break;
 
             // Remove the current request if it is our wrapper

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>