java.lang.ClassNotFoundException:在线等!

我连接mysql数据库时报这个异常!Class.forName(DBconst.CLASSNAME).newInstance();无法指向运行DBconst类!java.... 我连接mysql数据库时报这个异常!
Class.forName(DBconst.CLASSNAME).newInstance(); 无法指向运行DBconst类!
java.lang.ClassNotFoundException:
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.dbconn.Connect.<init>(Connect.java:21)
at com.user.Addbook.<init>(Addbook.java:10)
at com.servlet.Add.doGet(Add.java:36)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
package com.dbconn;

import java.util.*;
import java.io.*;

public class DBconst {

public static String CLASSNAME="";

public static String url="";
public static String username="";
public static String password="";

public DBconst(){
Properties prop=new Properties();
System.out.println("获得数据");
InputStream in=this.getClass().getResourceAsStream("DB.properties");//获得配置文件

try{
prop.load(in);

}catch(Exception e){
System.out.println("数据加载异常:"+e.getMessage());

}
/**
* 获得相关数据库的连接信息
*/
CLASSNAME=prop.getProperty("ClassName");
System.out.println();
url=prop.getProperty("url");
username=prop.getProperty("username");
password=prop.getProperty("password");

}

}
展开
 我来答
sd96800
2009-03-03 · TA获得超过599个赞
知道小有建树答主
回答量:797
采纳率:0%
帮助的人:369万
展开全部
1.DBconst 这个类很明显.是读取xml里的数据库配置信息错误不在它
2.Class.forName(DBconst.CLASSNAME).newInstance();
这段话的意思是根据DBconst类中的CLASSNAME这个字符串加载类,然后创建实例.
我们从DBconst类文件里发现CLASSNAME已经从配置文件中获得属性(至于这个属性的值是否为空,我们不晓得).
在加上异常是ClassNotFoundException 该类不存在

总结错误可能有三种:
1.CLASSNAME这个字符串所指象的类不存在
2.配置文件中ClassName这个属性可能不存在值.或者给出的值是错误的
3.如果有涉及到数据库的话.那么你没有该数据库的驱动包

其他不懂的密我
flyx100
2009-03-01 · TA获得超过140个赞
知道答主
回答量:161
采纳率:100%
帮助的人:106万
展开全部
你应该把全部代码贴上来看看。尤其是 DBconst。

原来你是用配置文件进行数据库连接的呀。。
好久没用了,不太记得了。这个类应该没有写错。
也有可能是 驱动程序没有装载的原因。

你多查查。
或者把代码发给我,让我学习下。email;flyx100@qq.com
搞定了,记得把出错原因贴一下。谢谢。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
babykang521
2009-03-03 · TA获得超过371个赞
知道答主
回答量:313
采纳率:0%
帮助的人:192万
展开全部
你用Config.getProperty()获取下数据看看
这有个例子
static {
driver = Config.getProperty("nms.jdbc.driver");
url = Config.getProperty("nms.jdbc.url");
user = Config.getProperty("nms.jdbc.username");
pwd = Config.getProperty("nms.jdbc.password");
try {
System.out.println("<<<<<<<<加载数据库驱动程序");
Class.forName(driver);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老师他掐我
2009-03-03 · 超过31用户采纳过TA的回答
知道答主
回答量:74
采纳率:0%
帮助的人:95.3万
展开全部
你用println输出一下那个CLASSNAME看看,感觉是你CLASSFORNAME不对。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
燕子郭三
2009-03-01
知道答主
回答量:23
采纳率:0%
帮助的人:30.2万
展开全部
你是不是没有加入mysql的驱动啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式