tomcat与orcale的连接 池问题,
tomcat 的server.xml的连接池设置
<Context path="/mms" docBase="mms" debug="0"
reloadable="true" crossContext="true">
<Resource name="jdbc/OracleDB" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/OracleDB"> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <parameter> <name>driverClassName</name> <value>oracle.jdbc.driver.OracleDriver</value> </parameter> <parameter> <name>url</name> <value>jdbc:oracle:thin:@192.168.0.1:1521:orcl9i</value> </parameter> <parameter> <name>username</name> <value>system</value> </parameter> <parameter> <name>password</name> <value>newman12</value> </parameter> <parameter> <name>maxActive</name> <value>20</value> </parameter> <parameter> <name>maxIdle</name> <value>10</value> </parameter> <parameter> <name>maxWait</name> <value>-1</value> </parameter> </ResourceParams>
</Context>
测试的jsp页
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import= "java.sql.* "%>
<%@ page import= "javax.naming.* "%>
<% try{ Context initCtx = new InitialContext();
Context ctx=(Context)initCtx.lookup("java:comp/env"); //获取连接池对象
Object obj = (Object) ctx.lookup("jdbc/OracleDB"); //类型转换
javax.sql.DataSource ds = (javax.sql.DataSource)obj;
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
String strSql = " insert into testpeter(userid) values('00001') "; stmt.executeUpdate(strSql);
strSql = " select id,name from testpeter ";
ResultSet rs = stmt.executeQuery(strSql);
if(rs.next())
{ out.println(rs.getString(1));
out.println(rs.getString(2));
}
}catch(Exception ex){ ex.printStackTrace();
throw new SQLException("cannot get Connection pool."); }%><hr>
报错:
javax.servlet.ServletException: cannot get Connection pool.
请大家帮帮忙。谢谢