Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/pdb");
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();ResultSet rst = null;
String sql=null;
sql="select * from XZQH";
rst=stmt.executeQuery(sql);那行是79行,看看哪个是null,是ds,conn还是stmt??
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/pdb");
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();ResultSet rst = null;
String sql=null;
sql="select * from XZQH";
rst=stmt.executeQuery(sql);那行是79行,看看哪个是null,是ds,conn还是stmt??
server.xml里面有
<ResourceParams name="jdbc/pdb">
吗?
<Context path="/pstat" docBase="pstat" debug="0">
<Resource name="jdbc/pdb" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/pdb">
<parameter>
<name>user</name>
<value>patent</value>
</parameter>
<parameter>
<name>password</name>
<value>patent</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>driverName</name>
<value>jdbc:oracle:thin:@192.168.3.30:1521:o8i</value>
</parameter>
</ResourceParams>
</Context>
<!-- Tomcat Root Context -->
<Context path="/pstat" docBase="pstat" debug="0">
<Resource name="jdbc/pdb" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/pdb">
<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.3.30:1521:o8i</value>
</parameter>
<parameter>
<name>username</name>
<value>patent</value>
</parameter>
<parameter>
<name>password</name>
<value>patent</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>
<resource-ref>
<description>hiber example</description>
@ <res-ref-name>jdbc/pdb</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
server.xml
<Context path="/pstat" docBase="pstat" debug="0">
<Resource name="jdbc/pdb" auth="Container" type="javax.sql.DataSource"/>
@<ResourceParams name="jdbc/pdb">
....以上标@处 naming 是否一致?!
at org.apache.jasper.runtime.PageContextImpl.handlePageException(Unknown Source)
at org.apache.jsp.test$jsp._jspService(test$jsp.java:105)
at org.apache.jasper.runtime.HttpJspBase.service(Unknown Source)
。
javax.naming.NamingException: Cannot create resource instance
at org.apache.naming.NamingContext.lookup(Unknown Source)
at org.apache.naming.NamingContext.lookup(Unknown Source)
at org.apache.naming.NamingContext.lookup(Unknown Source)
at org.apache.naming.NamingContext.lookup(Unknown Source)
System.out.println("1111111111111");
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/pdb");
System.out.println("2222222222222");
Connection conn = ds.getConnection();
System.out.println("3333333333333");
Statement stmt = conn.createStatement();
System.out.println("4444444444444");
ResultSet rst = null;
String sql=null;
sql="select * from XZQH";
rst=stmt.executeQuery(sql);
System.out.println("5555555555555");看看能打到哪?