连接池的jndi名是否正确 jndi怎么配置?我列出我的详细配置和错误,大家给意见!我狂散分!我设置了server.xml文件内容: <ResourceParams name="jdbc/oracle"> <parameter> <name>maxWait</name> <value>5000</value> </parameter> <parameter> <name>maxActive</name> <value>4</value> </parameter> <parameter> <name>password</name> <value>123456</value> </parameter> <parameter> <name>url</name> <value>jdbc:oracle:thin:@192.168.0.2:1521:orcl</value> </parameter> <parameter> <name>driverClassName</name> <value>oracle.jdbc.driver.OracleDriver</value> </parameter> <parameter> <name>maxIdle</name> <value>2</value> </parameter> <parameter> <name>username</name> <value>system</value> </parameter> </ResourceParams>web.xml: <resource-ref> <description>Oracle Datasource example</description> <res-ref-name>jdbc/oracle</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>我的一个测试程序内容如下: <%@ page import="javax.sql.*"%><%@ page import="javax.naming.*"%> <% out.print("hellou"); DataSource ds = null; InitialContext ctx=new InitialContext(); ds=(DataSource)ctx.lookup("java:comp/env/jdbc/oracle"); Connection conn = ds.getConnection(); Statement stmt = conn.createStatement(); String strSql = "select * from test2"; ResultSet rs = stmt.executeQuery(strSql); while(rs.next()){ out.print(rs.getString(1)); out.print(rs.getString(2)); } %> 不过运行时提示出错了: HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Cannot create JDBC driver of class '' for connect URL 'null' org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758) org.apache.jsp.test_jsp._jspService(test_jsp.java:76) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) root cause org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null' org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:780) org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540) org.apache.jsp.test_jsp._jspService(test_jsp.java:60) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs. --------------------------------------------------------------------------------Apache Tomcat/5.0.28有谁知道原因吗?其中提示:Cannot create JDBC driver of class '' for connect URL 'null'是什么原因呢?帮忙分析一下!!谢谢!
连接池的classname 没有配置好。
还有,把ds=(DataSource)ctx.lookup("java:comp/env/jdbc/oracle");修改成: ds=(DataSource)ctx.lookup("java:comp/env/jdbc/oracle123");提示: Name oracle123 is not bound in this Context连接池配置没有错误的吧。
从上楼可以看出web.xml没有问题,从这里:Cannot create JDBC driver of class '' for connect URL 'null'可以看出读server.xml时出了问题以致url==null。可能是你配置server.xml时候出了点小错误,比如说删除了某个</context>,</parametr>之类的东西。建议解决办法:拷贝一个全新的server.xml重新配置一次
这句话没有起作用,到这里Connection conn = ds.getConnection();的时候,是null.getConnection(),所以报错
jndi怎么配置?我列出我的详细配置和错误,大家给意见!我狂散分!我设置了server.xml文件内容: <ResourceParams name="jdbc/oracle">
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>password</name>
<value>123456</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@192.168.0.2:1521:orcl</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
<parameter>
<name>username</name>
<value>system</value>
</parameter>
</ResourceParams>web.xml:
<resource-ref>
<description>Oracle Datasource example</description>
<res-ref-name>jdbc/oracle</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>我的一个测试程序内容如下:
<%@ page import="javax.sql.*"%><%@ page import="javax.naming.*"%>
<%
out.print("hellou");
DataSource ds = null; InitialContext ctx=new InitialContext();
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/oracle");
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
String strSql = "select * from test2";
ResultSet rs = stmt.executeQuery(strSql);
while(rs.next()){
out.print(rs.getString(1));
out.print(rs.getString(2));
}
%>
不过运行时提示出错了:
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Cannot create JDBC driver of class '' for connect URL 'null'
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.test_jsp._jspService(test_jsp.java:76)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:780)
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
org.apache.jsp.test_jsp._jspService(test_jsp.java:60)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
--------------------------------------------------------------------------------Apache Tomcat/5.0.28有谁知道原因吗?其中提示:Cannot create JDBC driver of class '' for connect URL 'null'是什么原因呢?帮忙分析一下!!谢谢!
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/oracle123");提示:
Name oracle123 is not bound in this Context连接池配置没有错误的吧。