Tomcat5.0 连接池 ClassNotFoundException:com.mysql.jdbc.Driver
目前正在初学连接池 发生了个奇怪的问题 使用正常连接jdbc没有问题 但是用连接池就出现ClassNotFoundException:com.mysql.jdbc.Driver 错误
我jar包已经放入工程的lib目录内 请朋友们帮忙
我的部分原文:
java代码中:
try {
// Class.forName("com.mysql.jdbc.Driver");
// con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");
InitialContext ic=new InitialContext();
DataSource ds=(DataSource)ic.lookup("java:comp/env/jdbc/dateTest");
con=ds.getConnection();
st=con.createStatement();
rs=st.executeQuery("SELECT * FROM menu");
while(rs.next()){
Item i=new Item(rs.getInt(1),rs.getString(2));
al.add(i);
}
} catch (Exception e) {
e.printStackTrace();
}
结果st=con.createStatement();出错
我的工程名是:dateSource
C:\Program Files\Apache Software Foundation\Tomcat 5.0\conf\Catalina\localhost\dateSource.xml:
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\dateSource" path="/dateSource" workDir="work\Catalina\localhost\dateSource">
<Resource name="jdbc/dateTest" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/dateTest">
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>10</value>
</parameter>
<parameter>
<name>password</name>
<value>root</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/test</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
<parameter>
<name>username</name>
<value>root</value>
</parameter>
</ResourceParams>
</Context>
工程的web.xml中:
<resource-ref>
<res-ref-name>jdbc/dateTest</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
错误信息为:
rg.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:766)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
at com.wish.dao.ItemDAO.getAll(ItemDAO.java:35)
at com.wish.contorlly.ItemServlet.doGet(ItemServlet.java:30)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:854)
at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:721)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:760)
... 29 more
我在强调一下:工程的lib目录下有mysql-connector-java-5.0.3-bin.jar
而且在
C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\dateSource\WEB-INF\lib也有
mysql-connector-java-5.0.3-bin.jar
为什么还是ClassNotFoundException错误呢??
因为是新人暂无分数 所以请各位现帮忙 谢谢了
我jar包已经放入工程的lib目录内 请朋友们帮忙
我的部分原文:
java代码中:
try {
// Class.forName("com.mysql.jdbc.Driver");
// con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");
InitialContext ic=new InitialContext();
DataSource ds=(DataSource)ic.lookup("java:comp/env/jdbc/dateTest");
con=ds.getConnection();
st=con.createStatement();
rs=st.executeQuery("SELECT * FROM menu");
while(rs.next()){
Item i=new Item(rs.getInt(1),rs.getString(2));
al.add(i);
}
} catch (Exception e) {
e.printStackTrace();
}
结果st=con.createStatement();出错
我的工程名是:dateSource
C:\Program Files\Apache Software Foundation\Tomcat 5.0\conf\Catalina\localhost\dateSource.xml:
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\dateSource" path="/dateSource" workDir="work\Catalina\localhost\dateSource">
<Resource name="jdbc/dateTest" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/dateTest">
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>10</value>
</parameter>
<parameter>
<name>password</name>
<value>root</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/test</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
<parameter>
<name>username</name>
<value>root</value>
</parameter>
</ResourceParams>
</Context>
工程的web.xml中:
<resource-ref>
<res-ref-name>jdbc/dateTest</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
错误信息为:
rg.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:766)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
at com.wish.dao.ItemDAO.getAll(ItemDAO.java:35)
at com.wish.contorlly.ItemServlet.doGet(ItemServlet.java:30)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:854)
at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:721)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:760)
... 29 more
我在强调一下:工程的lib目录下有mysql-connector-java-5.0.3-bin.jar
而且在
C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\dateSource\WEB-INF\lib也有
mysql-connector-java-5.0.3-bin.jar
为什么还是ClassNotFoundException错误呢??
因为是新人暂无分数 所以请各位现帮忙 谢谢了
...全文
相关推荐
MySQL驱动包(包含mysql-connector-java-5.1.47和mysql-connector-java-8.0.25)
MySQL驱动包(包含mysql-connector-java-5.1.47和mysql-connector-java-8.0.25)
JSP程序使用JDBC连接MySQL的教程
主要介绍了JSP程序使用JDBC连接MySQL的教程,简单地来搭建Tomcat+JSP(Java)+MySQL的生产环境,需要的朋友可以参考下
本地安装Java环境,安装Tomcat,安装Mysql;本地创建IDEA Java EE项目并用JDBC连接Mysql读取数据。
一 Java环境配置 1.下载安装sdk 百度搜索jdk1.8 点击第一条进入 选择符合自己电脑操作位数的下载包点击下载。 2.配置环境变量JAVA_HOME和Path 在我的电脑-属性-高级系统设置-环境变量-系统变量中新建变量: 变量名为JAVA_HOME,变量值为你电脑上jdk的安装文件夹位置。 新建变量CLASSPATH 3测试是否安装成功 打开cmd输入java java-version 测试 二.下载安装IDEA 1.访问IDEA官方网站下载 下载链接:IDEA官方网站 IDEA有三个不同版本: Ultimate : 功能强,需要付费 Communit : 功能稍弱,
JDBC数据源连接池的配置和使用示例
NULL 博文链接:https://kingxss.iteye.com/blog/1479451
用MyEclipse开发jsp网页连接MySQL数据库
使用myeclipse开发网站使用tomcat作为服务器MySQL为数据库链接办法


Web 开发
