tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Cox, Charlie" <c...@cincom.com>
Subject RE: RequestDispatcher scenarios ( was RE: static url routing)
Date Fri, 13 Dec 2002 12:14:40 GMT
see below

> -----Original Message-----
> From: RXZ JLo [mailto:rufoo2001@yahoo.com]
> Sent: Friday, December 13, 2002 12:58 AM
> To: Tomcat Users List
> Subject: Re: RequestDispatcher scenarios ( was RE: static url routing)
> 
> 
> 
> --- "Craig R. McClanahan" <craigmcc@apache.org> wrote:
> > 
> > 
> > On Mon, 9 Dec 2002, RXZ JLo wrote:
> > 
> > > Date: Mon, 9 Dec 2002 03:21:25 -0800 (PST)
> > > From: RXZ JLo <rufoo2001@yahoo.com>
> > > Reply-To: Tomcat Users List
> > <tomcat-user@jakarta.apache.org>
> > > To: Tomcat Users List
> > <tomcat-user@jakarta.apache.org>
> > > Subject: RequestDispatcher scenarios ( was RE:
> > static url routing)
> > >
> > >
> > > --- "Craig R. McClanahan" <craigmcc@apache.org>
> > 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:tomcat-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail:
<mailto:tomcat-user-help@jakarta.apache.org>

--
To unsubscribe, e-mail:   <mailto:tomcat-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:tomcat-user-help@jakarta.apache.org>


Mime
View raw message