While I have no way of knowing, I would venture a guess that your colleague started out with every request fetching a new connection of its own from the manager, just like it's done in beginner and demo programs. He soon discovered that this slowed requests down dramatically; so now he's avoiding connection creation by "pooling" them in user sessions.
This solves the performance problem for users making a 2nd and subsequent requests on a connection, but it's a very awkward and non-scalable solution. If your application's user base grows, the number of users with open sessions will quickly outgrow the maximum number of connections your DB can give you. And then there's problems with sessions or DB connections timing out...
The "industry standard" solution is to use connection pooling. Modern versions of Tomcat have connection pooling "built in," as do other Web application servers. If not, you can easily install your own. This allows you to manage a pool of connections completely independently of user sessions.
Another benefit of connection pooling is that, once the pool is "warmed up," i.e. a number of connections are in use and initialized, even "first requests per user session" receive a connection quickly. So overall throughput will be improved over your current situation.