I don't understand your flow, sorry But I think that filters are only called on upon incoming requests. So your first flow seems ok. During the incoming request process, you may wrap something around the response object, but this is not part of the response flow. It is still the request flow :

Container -> filter (do something in the request, do something in the response) -> servlet