Deben crear un archivo llamado META-INF/context.xml que contenga algo parecido a:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="" docBase="CONTEXTO" debug="0" reloadable="true" crossContext="true">
<Resource name="jdbc/NOMBRE_BD" auth="Container" type="javax.sql.DataSource"
maxActive="20" maxIdle="10" maxWait="200"
username="USUARIO_BD" password="CONTRASENA_BD"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/NOMBRE_BD"/>
</Context>
Donde CONTEXTO es el directorio del contexto (/CONTEXTO o /CONTEXTO.war, en el raíz, no dentro de public_html), NOMBRE_BD es el nombre de la base de datos, USUARIO_BD es el usuario de la base de datos y CONTRASENA_BD es su contraseña.
De esta forma la aplicación se verá en http://www.dominio.com/CONTEXTO/ . Para que se vea en http://www.dominio.com/ tendrá que usar el contexto public_html y meter la aplicación ahí, según se explica en este enlace. Para poder usar JNDI de esta manera, tendrá que escribirnos para que nosotros configuremos el Resource dentro del server.xml
También deben crear un archivo WEB-INF/web.xml parecido a:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<description>DESCRIPCION DE LA APLICACION</description>
<resource-ref>
<description>DESCRIPCION DE LA CONEXION</description>
<res-ref-name>jdbc/NOMBRE_BD</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
Y por último, un ejemplo de JSP que use esto podría ser:
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<sql:query var="rs" dataSource="jdbc/NOMBRE_BD">
select ID, DATOS from TABLA
</sql:query>
<html>
<head>
<title>PRUEBA bd</title>
</head>
<body>
<h2>Resultados</h2>
<c:forEach var="row" items="${rs.rows}">
ID: ${row.ID}<br/>
Datos: ${row.DATOS}<br/>
</c:forEach>
</body>
</html>
Necesitarán instalar la versión 1.1.x de las librerías jstl.jar y standard.jar en el directorio WEB-INF/lib. Pueden encontrarlas en el proyecto Jakarta Taglib Standard 1.1
Tengan cuidado al hacer los archivos .xml, el más mínimo error en cualquiera de ellos hará que la aplicación ni siquiera se inicie.
Más información en la página oficial de Tomcat