test.jsp内容
<%@ page language="java"
import="java.util.*,java.io.*,java.sql.*,javax.naming.*,javax.sql.*"%>
<%@ page contentType="text/html;charset=GB2312"%>
<html>
<head>
<title>dbjsp.jsp</title>
</head><body>
<%
try {
Connection con;
Statement stmt;
ResultSet rs;
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx
.lookup("java:comp/env/jdbc/BookDB");
con = ds.getConnection();
stmt = con.createStatement();
stmt
.executeUpdate("insert into books(id,name,title,price) values('989','tree','tomcat b',44.5)");
rs = stmt.executeQuery("select id,name,title,price from books");
out.println("<table border=1 width=400>");
while (rs.next()) {
String col1 = rs.getString(1);
String col2 = rs.getString(2);
String col3 = rs.getString(3);
float col4 = rs.getFloat(4);
col1 = new String(col1.getBytes("ISO-8859-1"), "gb2312");
col2 = new String(col2.getBytes("ISO-8859-1"), "gb2312");
col3 = new String(col3.getBytes("ISO-8859-1"), "gb2312");
out.println("<tr><td>" + col1 + "</td><td>" + col2
+ "</td><td>" + col3 + "</td><td>" + col4
+ "</td></tr>");
}
out.println("</table>");
stmt.executeUpdate("delete from books where id='989'");
rs.close();
stmt.close();
con.close();
} catch (Exception e) {
out.println(e.getMessage());
}
%>
</body>
</html>server.xml内容:<Context path="/helloapp" docBase="helloapp" debug="0" reloadable="true">
      <Resource name="jdbc/BookDB" auth="Container" type="javax.sql.DataSource" />
<ResourceParams name="jdbc/BookDB">
    <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>dbuser</value>
    </parameter>
    <parameter>
         <name>password</name>
<value>1234</value>
             </parameter>
    <parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
    </parameter>
    <parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/bookdb?                                                  autoReconnect=true</value>
    </parameter>
      </ResourceParams>
</Context>web.xml内容
<web-app>
  
<resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/BookDB</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
  </resource-ref>
 
</web-app>http://localhost:8080/helloapp/dbjsp.jsp出现如下的错误拉,怎么办啊?是什么原因,如何解决啊
Cannot create PoolableConnectionFactory 
(Server connection failure during transaction. Attempted reconnect 3 times. Giving up.)
在线等

解决方案 »

  1.   

    <Resource name="jdbc/BookDB" auth="Container" type="javax.sql.DataSource" />
    不知道你连的什么数据库
    我的ORACLE:    <Resource name="OracleSource" auth="Container"
                  type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver"
                  url="jdbc:oracle:thin:@192.150.189.100:1521:zhs"
                  username="spmis" password="spmis" maxActive="10" maxIdle="5"
                  maxWait="-1"/>
      

  2.   

    哎呀,我忘记了,我 用的是MYSQL5.0,不过刚才我在运行的时候,我先把数据库bookdb给删掉,然后再运行,就只提示"Driver not Found! Unknown database 'bookdb' "的错误了,你看结合上面的错误,能给诊断一下吗?