On Mon, 6 Aug 2001, Loïc Lefèvre wrote:
> Would/Must the RewriteValve do that?
>
Well, you can certainly use Valves if you don't mind being tied to Tomcat
4. But, to implement a controller type mechanism that uses request
dispatchers, a Filter is a much better answer (the only way a Valve can do
the dispatch is to change the Request URI to select the appropriate
servlet).
Doing the pattern matching yourself (say, with the jakarta-regexp
package) inside a Filter still avoids all the "thousands of if
statements" you are worried about. (But talking about how to implement
this is straying into TOMCAT-USER topics -- this list is for Tomcat
development related questions).
> Loïc Lefèvre
>
Craig
> note : thanks Pier ;)
> note 2: it worked before, I mean the e-mail address
>
> -----Message d'origine-----
> De : Craig R. McClanahan [mailto:[EMAIL PROTECTED]]
> Envoyé : samedi 4 août 2001 04:08
> À : '[EMAIL PROTECTED]'
> Cc : '[EMAIL PROTECTED]'
> Objet : Re: partial URLPatternMatching in Tomcat 4.0 (Servlet 2.3 spec)?
>
>
>
>
>
> On Thu, 2 Aug 2001, Ru, Simon wrote:
>
> > I wonder if Servlet 2.3's Filter allow partial URLPatternMatching.
> Something
> > like:
> >
> > <filter-mapping>
> > <filter-name>timerFilter</filter-name>
> > <url-pattern>/Controller?action=timer*</url-pattern>
> > </filter-mapping>
> > If it can, then we can use the Filtering mechanism as a controller to do
> > request dispatching. We can avoid having thousands if statements in the
> > Controller and we can easily modify the dispatching route without
> recompile.
> >
> > If it can't, is it something worth enhancing? What needs to add to have
> that
> > capability? Thanks in advance.
> >
>
> While what you propose might be quite nice, Tomcat needs to conform to the
> servlet spec's rules for what a legal <url-pattern> can contain -- it's
> the same for both filter mappings and servlet mappings -- and this pattern
> is not legal.
>
> One strategy would be to match for "/Controller/*" and let the filter look
> at the query parameters to decide whether or not to do anything
> special. Otherwise, it can just pass the request on unmolested.
>
> > Simon Ru
> > Software Engineer
> > (510) 897-5331
> > http://www.worldchain.com
> >
>
> Craig McClanahan
>
>