Ideally, a web application is not creating connections, but instead obtaining them from a database connection pool that was constructed and managed by the application server. Since this pooling manager is a plug-in resource, the exact characteristics and enumerable characteristics of that pool will vary depending on which pooler is being used. For the default, the Apache DBCP pooler is used.
You should be able to use JMX to monitor it.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.