On Fri, 11 May 2001, Martin Cooper wrote:

> At 03:44 PM 5/11/01, Craig R. McClanahan wrote:
> 
> 
> >On 11 May 2001 [EMAIL PROTECTED] wrote:
> >
> > > mschachter    01/05/11 15:33:38
> > >
> > >   Modified:    src/share/org/apache/struts/action Action.java
> > >                         ActionServlet.java
> > >                src/share/org/apache/struts/upload
> > >                         DiskMultipartRequestHandler.java
> > >                src/share/org/apache/struts/util RequestUtils.java
> > >   Added:       src/share/org/apache/struts/upload
> > >                         MultipartRequestWrapper.java
> > >   Log:
> > >    - Added the MultipartRequestWrapper class, which is a class that 
> > implements
> > >      HttpServletRequest and wraps a normal request.  All normal 
> > HttpServletRequest
> > >      methods will be called to the underlying request, except for 
> > methods involving
> > >      parameters, which were over-ridden to provide a transparent way of 
> > accessing
> > >      multipart elements.  The version of the HttpServletRequest is 
> > Servlet 2.2, however
> > >      the new methods from Servlet 2.3 are also included in this class 
> > with empty
> > >      implementations so that Struts will build against the servlet 2.2 
> > and 2.3 jars
> >
> >One thing to remember in 2.2 is that you cannot pass your wrapped request
> >object to a RequestDispatcher.forward() or RequestDispatcher.include()
> >call.  In Tomcat 3.x, for example, you'd get a ClassCastException error if
> >you tried to use this in an RD call.
> 
> You mean if I have an Action that is invoked via POST with a file upload, 
> and I try to forward from there using mapping.findForward("nextAction"), 
> where the forward has redirect="false, this will fail? This would be very 
> bad - in every case where we have a file upload, we subsequently forward to 
> another action.
> 

As long as you forward the *original* request object (and not the
wrapper), you're fine.  I'm fighting some security fires on Tomcat so I
haven't had time to look deeply into what Michael is changing, but wanted
to raise the flag in case some assumptions about this were being made
incorrectly.

> >Craig
> 
> --
> Martin Cooper
> 
> 
> 

Craig


Reply via email to