She says that in a connection pool connection objects are created on each request. Is that true?
Well, it depends on which connection pool implementation she is talking about but generally no. Connections in the connection pool will generally be reused, rather than destroyed and recreated. When you write a piece of code that calls an open method on a connection while using a connection pool, the connecion pool will probably get an already open but currently free connection from the pool and use that, rather than explicitly creating a new conneciton. Simmilaraly, if you call the close method on the connection it will be freed up to the pool, rather than being explicitly closed. If you want to see how a connection pool does this, you might want to download the source of an open source connection pool implementation and have a look.