You can do some thing like this,
Create a
thread local connection, let your filter create the connection(or get one from the pool) and attach it with current request thread, Create a JdbcUtil which will return a connection attached with current thread upon calling getConnection().
Filter will close (may be return to pool) the connection. This way you will have one connection per request.
[ January 06, 2008: Message edited by: sudhir nim ]
[ January 06, 2008: Message edited by: sudhir nim ]