see below

> -----Original Message-----
> From: RXZ JLo [mailto:[EMAIL PROTECTED]]
> Sent: Friday, December 13, 2002 12:58 AM
> To: Tomcat Users List
> Subject: Re: RequestDispatcher scenarios ( was RE: static url routing)
> 
> 
> 
> --- "Craig R. McClanahan" <[EMAIL PROTECTED]> wrote:
> > 
> > 
> > On Mon, 9 Dec 2002, RXZ JLo wrote:
> > 
> > > Date: Mon, 9 Dec 2002 03:21:25 -0800 (PST)
> > > From: RXZ JLo <[EMAIL PROTECTED]>
> > > Reply-To: Tomcat Users List
> > <[EMAIL PROTECTED]>
> > > To: Tomcat Users List
> > <[EMAIL PROTECTED]>
> > > Subject: RequestDispatcher scenarios ( was RE:
> > static url routing)
> > >
> > >
> > > --- "Craig R. McClanahan" <[EMAIL PROTECTED]>
> > wrote:
> > > > To do a redirect filter, then, you'd examine the
> > > > request URI to determine
> > > > what kind of remapping is needed, and then do a
> > > > RequestDispatcher.forward() call to the remapped
> > > > resource name.  After the
> > > > forward returns (which means that the actual
> > > > response has been created),
> > > > simply return instead of calling
> > chain.doFilter() to
> > > > pass the request on.
> > > >
> > >
> > > I am looking for various scenarios where
> > > RequestDispatcher is used. When I searched the
> > list, I
> > > noticed that it can be used in a Servlet too. What
> > > then is the difference between using it in a
> > Filter
> > > and using it in servlet? Can I just use it in the
> > > Servlet to serve my purpose(of serving static
> > > content)?
> > >
> > 
> > If you're serving your own static content with your
> > own servlet, then you
> > could do this.  Using a Filter lets you use Tomcat's
> > standard static file
> > serving servlet with no modifications.
> 
> 
> It seems I am confused about how RequestDispatcher
> works. From what I understand I think using a
> RequestDispatcher from within a Servlet or a Filter,
> is same - the request is viewed as a fresh request
> appropriately handled by Tomcat. This means, when I
> use RequestDispatcher(static_url).forward()+return in
> a servlet, it is the tomcat that is serving the static
> url, and in the same way as directly requested static
> urls.
> 
RequestDisatcher is for dispatching (parts of)the current request to other
resources in the same context without involving the browser. This means that
it is not a new request(filters/valves/etc do not get invoked), but it is
processed by the servlet/filter just like a request directly to the
servlet/filter

> "If you're serving your own static content with your
> own servlet, then you could do this." -- I want
> RequestDispatcher to handle serving the static content
> in my own servlet.
> 

The DefaultServlet handles static content. This is not part of your servlet,
it is its own built-in servlet. If you need to modify behavior(custom
auth,etc) then you can set up a filter that is mapped to the static content.

for example:

the following mapping will cause 'MyFilter' to be run for any file requested
from the /images directory. If you do not set up a custom servlet to handle
/images/*, then the DefaultServlet will serve the request file from your
'images' directory provided your filter does not intercept the request(i.e.
redirect to a login page).

<filter-mapping>
        <filter-name>Myfilter</filter-name>
        <url-pattern>/images/*</url-pattern>
</filter-mapping>

I use this on a downloadable executable that I have - my filter ensures that
you have logged in(custom auth) and that you have agreed to terms before
allowing the DefaultServlet to give you the file.

Charlie

> Please clarify.
> Thanks,
> rf.
> 
> __________________________________________________
> Do you Yahoo!?
> Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
> http://mailplus.yahoo.com
> 
> --
> To unsubscribe, e-mail:   
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to