I think too much emphasis is placed on using servlet filters to implement this pattern. When you use includes etc, you will have multiple sessions on a single request, basically rendering this pattern **useless**. You would expect a filter to surround an entire request but it doesn't and as far as I can see this can't be implemented this way in a reliable way. In Struts the only right way to implement this pattern is by extending the requestprocessor and closing the hibernate session after the action has been processed (process method in the request processor). For other frameworks it will be much the same. Marc