Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/DB");
Luego hay que definir dicha base de datos DB en el contexto de la aplicación web. Ejemplo:
<Context path="/aplicacion" docBase="aplicacion">
<Resource name="jdbc/DB" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/DB">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://host/database?autoReconnect=true</value>
</parameter>
<parameter>
<name>username</name>
<value>usuario</value>
</parameter>
<parameter>
<name>password</name>
<value>clave</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>30</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
<parameter>
<name>logAbandoned</name>
<value>true</value>
</parameter>
</ResourceParams>
</Context>