geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ivan <>
Subject Re: logging servlet filter
Date Fri, 12 Sep 2008 09:59:05 GMT
I guess the method getInputStream is used for the developers who want to
handle the request block themselves. Maybe the server could call some
low-level methods in the implementation of the HttpServletRequest for
request parsing.
I suggest you could use the network monitor tool to log the request block.
If you really want to do it in the server itself, maybe a third pary request
parser is needed,such as commons-fileupload.
I suppose the steps below could fulfill your requirements:
1. First using your current wrapper request to log the data
2. Pass your wrapper request to the commons-fileupload. maybe use new  *
*() .parse(yourwrapperRequest)
3. For the method parse above returns a list object, you need to write
another wrapper request, and overwrite some method in it (such as
getParameter) to make your application works as usual

2008/9/12 Marco Laponder <>

> Hi All,
> I am trying to create a servlet filter to monitor the requests on my web
> application.
> I would like to record the URI and query string and I have accomplished
> this without any problems. But when I added code to log the posted data
> this results in some problems.
> I read the posted data from the input stream of the request and copy
> these contents to file. So far so good. But when my web application code
> is executing it is missing all the data from the post in the parameter
> map returned by the getParameterMap() function on the request, I suspect
> because I have read all the data from the input stream of the request.
> I tried to solve it by calling the doFilter on the chain with a wrapper
> request with a custom getInputStream method where I return my own
> servlet inputstream containing the data I had read from the original
> inputstream, but the getInpustream is never called on my wrapper.
> Can anyone provide me with some insight how to accomplish such a logging
> and what I am doing wrong in the structure above ?
> Kind regards,
> Marco Laponder


View raw message