tomcat中配置oracle数据源的问题~
环境:tomcat5.0.28,jdk1.4.2,oracle9i,eclipse3.1,myeclipse4.1GA
server.xml文件中数据源的配置如下:
<ResourceParams name="jdbc/javablogorl">
<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>javablog</value>
</parameter>
<parameter>
<name>password</name>
<value>javablog</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@192.168.0.104:1521:baggio</value>
</parameter>
</ResourceParams>
站点目录下的web.xml文件相关配置如下:
<resource-ref>
<description>Oracle Datasource example</description>
<res-ref-name>jdbc/javablogorl</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
DbPool.java相关代码如下:
import javax.naming.*;
import javax.sql.*;
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource db = (DataSource)envCtx.lookup("jdbc/javablogorl");
运行出错,错误代码为javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial。
只保留Context initCtx = new InitialContext();这一句,不会报错,但是加上Context envCtx = (Context) initCtx.lookup("java:comp/env");就会出错,请问是什么问题啊?
oracle的驱动已经copy到lib下
补充一下,以上代码在jsp中可以正常运行~