Jim, Typically the a combination of the server and the driver handle the connection pool for you. Tomcat uses DBCP (a project from Jakarta Commons for connection pooling.) All the major vendors certainly provide support. You are correct that for web apps, we don't have to manually pool connections. For a standalone app, we could use DBCP ourselves.
Is the method ds.getConnection() getting a connection from a Connection Pool?
If so, what connection pool? I didn't create any classes that pooled connections? Is it handled by the driver vendor (MySQL Connector/J)?
1. Yes, it is. 2. The connection pool must have been set in the way your context is configured in Tomcat configuration files. The connection pool would either be configured in your Tomcat server.xml file, or your webapp's context file under Tomcat conf/Catalina/localhost directory. Also, in your web.xml, there must be a reference to the connection pool being accessed.