Frank, thanks for the link to javawebparts. The source code there helped me a
great deal.

Dakota, thanks for that very detailed explanation of creating my own dispatcher,
but I chose to use a filter for now. I'm just not ready to go change the buttons
and existing actions at the moment. I'll look at the code you provided and maybe
if I get ahead of timeline (yah, right) I'll make the move.

So, I'm the big ding bat. I totally whiffed on the "what are you going to map
to" comment made by Frank because I was under the impression that you could
define <url-mappings> with something like "/Enroll*.do". I decided to just do a
path.startswith("/Enroll") to determine whether to make the check for the
session bean. It seems to be working. I started out with configurable paths and
ignorelists, but then thought "you know what, this is a very specialized filter,
I don't want someone to fiddle with configuration parms without thinking about
it."

My next question is whether there's a mechanism by which I can stick an
ActionError in the request so that the error page can display a message to the
user using the familiar Struts <html:messages> tag.

Q
> -----Original Message-----
> From: Frank W. Zammetti [mailto:[EMAIL PROTECTED] 
> Sent: Friday, April 07, 2006 10:03 PM
> To: Struts Users Mailing List
> Subject: Re: Servlet Filter?
> 
> 
> Yeah, that's all reasonable.  Well, back to the filter then :)
> 
> One thing you may want to do is have a look at the filters in 
> Java Web 
> Parts (http://javawebparts.sourceforge.net).  We have them all 
> implemented with some added flexibility in mapping to paths.  
> At least 
> that way you can only fire it when really appropriate... well... in 
> reality, it's *still* firing, but hopefully doing a lot less 
> work than 
> it might otherwise need to.  You can rip off the code for that extra 
> ability (it's in the FilterHelpers class).
> 
> Then again, I may be micro-optimizing here... maybe for what 
> your filter 
> is doing it won't be that heavyweight anyway.  Sounds like 
> that may be 
> the case.  So, even if you mapped it to *.do for instance, it 
> might not 
> really be a problem.
> 
> Frank
> 
> Quinn Stone wrote:
> > OK. I contemplated creating a base class, but didn't like 
> the idea of having to
> > create a basically empty Action class for Actions that use 
> ActionForward to
> > forward to a jsp for display without calling an Action. 
> And, frankly, thought it
> > would be more complex to go learn the order of method calls of
> > LookupDispatchAction to figure out what to override and 
> when and how I return
> > without bypassing some necessary processing. Sometimes I 
> like the easy way out
> > (as long as it's not crappy).
> > 
> > Q
> > 
> > -----Original Message-----
> > From: Frank W. Zammetti [mailto:[EMAIL PROTECTED] 
> > Sent: Friday, April 07, 2006 8:24 PM
> > To: Struts Users Mailing List
> > Subject: Re: Servlet Filter?
> > 
> > 
> > Hi Quinn,
> > 
> > Quinn Stone wrote:
> >> 1. Does the Servlet filter seem a good solution?
> > 
> > Yes, but not quite as described, and ironically its because of the 
> > answer to #2 :)
> > 
> >> 2. If I throw an EnrollmentDingBat exception from said 
> Servlet Filter, will a
> >> handler defined in <global-exceptions> catch it? My 
> suspicion is that the
> > filter
> >> might executing too early, before struts mechanics cut in.
> > 
> > No, it won't.  As you suspect, the filter fires before 
> Struts gets involved.
> > 
> > However, what you *can* do, is simply forward somewhere 
> from the filter. 
> >   It could be straight to a JSP, or it could be to an 
> Action mapping, 
> > whatever is appropriate.
> > 
> > I think using a filter is generally a decent idea, but one thing to 
> > consider: what are you going to map it to?  It sounds like 
> you have many 
> > possible URLs that you would need to check, hence the 
> reason for wanting 
> > some "central" checkpoint in the first place.  The problem is, the 
> > filter is of course going to fire for *any* mapped request 
> > indiscriminately.  While filters, unless poorly written, 
> tend to not add 
> > a horrible amount of overhead, you may not want to add any 
> at all where 
> > it isn't necessary.  So, onto #3...
> > 
> >> No, three questions:
> >>
> >> 3. Any better ideas?
> > 
> > I would probably do it instead with a custom Action base 
> class that your 
> > other Actions extend from.  Then, only extend from it those Actions 
> > where this check is needed.  I mean, if you determine its 
> needed for all 
> > of them, or nearly all of them, then I'd probably go with 
> the filter. 
> > If you can narrow it down to just a handful though, the custom base 
> > Action might be a better answer.
> > 
> >> Q
> > 
> > HTH,
> > Frank
> > 
> 
> -- 
> Frank W. Zammetti
> Founder and Chief Software Architect
> Omnytex Technologies
> http://www.omnytex.com
> AIM: fzammetti
> Yahoo: fzammetti
> MSN: [EMAIL PROTECTED]
> Java Web Parts -
> http://javawebparts.sourceforge.net
> Supplying the wheel, so you don't have to reinvent it!
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


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

Reply via email to