Mircea LUTIC wrote:
Hello Chris,

I will save Chris one answer :

1. If the filter does not influence the decoding of the GET parameters why is it called on GET requests?

Because the filter may want to, for example, modify or add request headers to the request (or response headers). Or it may want to change.. the parameters, or rather the request's "query string" as a whole (the part of the URL after the "?").

I think what Chris meant, is that the filter does not influence the way in which a call like getParameters() works. The standard getParameters() method takes the request URI (as it sees it by the time it runs) and parses its query_string part into a table of parameter names and values, according to fixed rules which you cannot change.

What your filter /could/ do, is to create a "request wrapper object" containing the original request. This request wrapper would for example pass an already-modifed request URI to the getParameters() method. Or it could re-define the getParmeters() method, to return modified parameter values.

When an application then runs and calls getParameters(), it will get the result of the getParameters() of your wrapper object, instead of the getParameters() of the original object. For example, the result would be already-"translated" parameter names/values.

(You have to do it this way, because the original HttpServletRequest object is immutable, it cannot be modified directly.)

        2. How about http : PUT, HEAD, etc?

Same thing.
And same thing for the request body, if any.


There are some additional nuances and details to what I wrote above, but I hope that this already helps somewhat.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to