There is no technical difference between a user request and a redirect,
because the redirect causes a second user request.
If you're interested in knowing whether the action is being called as a
forward, there are standard request attributes which the Container sets.
For a forward it is "javax.servlet.forward.request_uri" and for an
include it is "javax.servlet.include.request_uri"
Paul
Tamas Szabo wrote:
Have a look at the documentation of the "dispatcherType" at
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd.
Then you can use dispatcher elements in your filter mappings
("filter-mappingType" in the same xsd) to fire your filter just for
requests but not for forwards.
I pressume that by "internal redirects" in your initial mail you mean
forwards. Is this true?
Hope this helps,
Tamas
On 3/13/07, Pierre Thibaudeau <[EMAIL PROTECTED]> wrote:
Yes, I believe it is 2.4.
Also:
Struts 1.3.5
Tomcat 6.0.9
2007/3/12, Tamas Szabo <[EMAIL PROTECTED]>:
>
> Hi,
>
> What servlet api are you using?
> Is it at least 2.4?
>
> Tamas
>
>
> On 3/13/07, Pierre Thibaudeau <[EMAIL PROTECTED]> wrote:
> > I am trying to implement a flood control mechanism to prevent robots
> > requesting pages after pages at an "inhuman" rate.
> >
> > My basic idea is this:
> > * A FirstInFirstOut List stored in the HttpSession, that records the
> time of
> > the user's last 10 requests.
> > * On each new request, a filter compares the current time with the
time
> of
> > the 10th previous request. If not enough time went by, redirect to a
> "delay
> > page" that requires the user to press a "Continue" button. Pipe
the new
> > request and its time, and pipe out the 10th previous request.
> >
> > The problem with that design: in some cases, one single request from
> the
> > user will go through the filters several times because of various
> possible
> > internal redirects. But I only want to record the times of the
requests
> > coming directly from the user.
> >
> > Therefore my question: Is there a simple straightforward way,
from the
> > filter's point of view, to distinguish between a request that came
from
> > outside (from the user), from an internal request (one that came
through
> a
> > redirection from ActionMapping to ActionMapping)?
> >
>
> ---------------------------------------------------------------------
> 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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]