server.xml
       <!-- Myweb -->
         
         <Context path="/myweb" docBase="myweb" debug="0" reloadable="true" crossContext="true">
 <Resource name="jdbc/mydb" auth="Container" type="javax.sql.DataSource"/>
 <ResourceParams name="jdbc/mydb">
 <parameter>
  <name>factory</name>
        <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
     </parameter>
     <parameter>
  <name>maxActive</name>
        <value>100</value>
     </parameter>
     <parameter>
  <name>maxIdle</name>
        <value>30</value>
     </parameter>
     <parameter>
        <name>maxWait</name>
        <value>10000</value>
     </parameter>
 <parameter>
  <name>username</name>
  <value>test</value>
 </parameter>
 <parameter>
  <name>password</name>
  <value>1234</value>
 </parameter>
 <parameter>
  <name>driverClassName</name>
  <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
 </parameter>
 <parameter>
  <name>url</name>
  <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs</value>
 </parameter>      
 </ResourceParams>
</Context>------------------
web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
 <display-name>My Web</display-name>
 <servlet-mapping>
  <servlet-name>invoker</servlet-name>
  <url-pattern>/servlet/*</url-pattern>
 </servlet-mapping>
 <resource-ref>
  <res-ref-name>jdbc/mydb</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
 </resource-ref>
 
</web-app>-------------
jsp<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="javax.naming.Context" %>
<%@ page import="javax.sql.DataSource"%>
<%@ page import="javax.naming.InitialContext"%>
<%@ page import="java.sql.*"%><%
  DataSource ds = null;
  Connection conn = null;
  try{
    Context initCtx = new InitialContext();
    Context envCtx = (Context) initCtx.lookup("java:comp/env");
    ds = (DataSource)envCtx.lookup("jdbc/mydb");    conn = ds.getConnection();
    if(conn!=null)
        out.println("Connection is OK!");
    else
        out.println("Connection Failed!");
   }catch(Exception e){
      out.println(e.getMessage());
   }
%>-----
servlet
import java.sql.*;
import javax.naming.Context;
import javax.sql.DataSource;
import javax.naming.InitialContext;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;public class JDBCPoolServ extends HttpServlet
{
 public void doGet(HttpServletRequest request,
  HttpServletResponse response) throws ServletException,IOException {
    DataSource ds=null;
    Connection con=null;
    String val="null",title="JDBC Pooling Test";
   
    try{
     Context initCtx = new InitialContext();
    
    // if(initCtx == null ) 
    //        throw new Exception("Boom - No Context");
            
     ds = (DataSource)initCtx.lookup(
      "java:comp/env/jdbc/mydb");
     if (ds != null){
      con = ds.getConnection();
      if (con != null){
       Statement stmt=con.createStatement();
       ResultSet rs=stmt.executeQuery("select * from authors");
       rs.next();
       
       val=rs.getString("au_id");
       rs.close();
       stmt.close();
      }       
      con.close();
     }
     
    }
    catch(Exception ex){
     System.out.println(ex.getMessage());
    }
    
    response.setContentType("text/html");
  PrintWriter out = response.getWriter();
  out.println("<html>");
        out.println("<head>");
        out.println("<title>" + title + "</title>");
        out.println("</head>");
        out.println("<body bgcolor=\"white\">");
        out.println("<h1>" + val + "</h1>");
        out.println("</body>");
        out.println("</html>");
    }
}-------------

解决方案 »

  1.   

    你的是tomcat几?你的tomcat还少了commons-collections.jar,不知道有没有commons-logging-api.jar,呵呵,最好下载一个最新的tomcat,到jakatra.apache.org网站下载一个最新的tomcat好了
      

  2.   

    是找不到类~只要你打开commons-pool.jar和commons-dbcp.jar有没有对应的类?
    如果有,你也把它加到COMMON\LIB下了,那你要确认一下你下载的JAR的版本也TOMCAT版本有没关系?(偶配的是TOMCAT4.1.12,里面已经有那两个包了~)
      

  3.   

    你确认TOMCAT里有这个JAR吗?
    commons-collections.jar
    这个包里有org/apache/commons/collections/CursorableLinkedList
    LOOKLOOK~
      

  4.   

    楼上两位大侠说得完全正确,因为common这四个包我根本没有,第一次他提示并不是类找不到,而是实例不能创建,而且这个tomcat是jb7自带的那个,我也就没多想,结果配了一上午也没行,原来就是少那四个文件,呵呵。再次感谢两位:)