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]