可以在context.xml中添加:
Tomcat 6.0 设置 JNDI 数据源_数据源<Context  path="/connjndi" docBase="D:\workspace\TestJndi\WebRoot" reloadable="true">

Tomcat 6.0 设置 JNDI 数据源_数据源
<Resource  name="jdbc/SampleData" auth="Container" type="javax.sql.DataSource"
Tomcat 6.0 设置 JNDI 数据源_数据源               maxActive
="100" maxIdle="30"   maxWait="10000"
Tomcat 6.0 设置 JNDI 数据源_数据源               username
="sampledata" password="password"   driverClassName="oracle.jdbc.OracleDriver"
Tomcat 6.0 设置 JNDI 数据源_数据源               url
="jdbc:oracle:thin:@//localhost:1521/mondrian"/>
Tomcat 6.0 设置 JNDI 数据源_数据源
</Context>

Tomcat标准数据源资源工厂配置项如下:
     * driverClassName - 所使用的JDBC驱动类全称。
     * maxActive - 同一时刻可以自数据库连接池中被分配的最大活动实例数。
     * maxIdle - 同一时刻数据库连接池中处于非活动状态的最大连接数。
     * maxWait - 当连接池中没有可用连接时,连接池在抛出异常前将等待的最大时间,单位毫秒。
     *password - 传给JDBC驱动的数据库密码。
     * url - 传给JDBC驱动的连接URL。
     * user - 传给JDBC驱动的数据库用户名。
 * validationQuery - 一个SQL查询语句,用于在连接被返回给应用前的连接池验证。
     * 如果指定了该属性,则必为至少返回一行记录的SQL SELECT语句。

 在web.xml中添加:
Tomcat 6.0 设置 JNDI 数据源_数据源<description>Oracle   Test App</description>
Tomcat 6.0 设置 JNDI 数据源_数据源
<resource-ref>
Tomcat 6.0 设置 JNDI 数据源_数据源
<description>DB Connection</description>
Tomcat 6.0 设置 JNDI 数据源_数据源
<res-ref-name>jdbc/SampleData</res-ref-name>
Tomcat 6.0 设置 JNDI 数据源_数据源
<res-type>javax.sql.DataSource</res-type>
Tomcat 6.0 设置 JNDI 数据源_数据源
<res-auth>Container</res-auth>
Tomcat 6.0 设置 JNDI 数据源_数据源
</resource-ref>
 写一个jsp文件进行测试
<%@ page import="java.sql.*,javax.sql.*,javax.naming.*" %>

 <%
 Connection conn = null;
 try
    {
      Context ctx = new InitialContext();
      DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/SampleData");
      conn = ds.getConnection();
     out.println("connection pool connected !!");  
   } catch (NamingException e) {
     System.out.println(e.getMessage());
   } catch (SQLException e) {
     System.out.println(e.getMessage());
     e.printStackTrace();
   }finally
   {
     conn.close();
   }
 %>
若报异常可能原因是:1、jdbc驱动未放入lib下。2、配置数据源时放入context.xml中,3、数据源的名称不一致