JDBC连接数据库问题!求助!!!帮帮忙!

kuake56 2018-07-21 08:18:49
public class addServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int id= new Integer (request.getParameter("id"));
String name=request.getParameter("name");
System.out.println(id+"`"+name);
studen student =new studen() ;
student .setId(id);
student. setName(name);
String sql="insert into mystudent values (?,?) ";
DBUtil dbUtil =new DBUtil() ;
Connection connection =dbUtil .getConnection();
try {
System.out.println("444!");
PreparedStatement preparedStatement =connection .prepareStatement(sql);
System.out.println("555!");
preparedStatement .setInt(1,student.getId() );
System.out.println("666!");
preparedStatement .setString(2,student.getName());
System.out.println("777!");
preparedStatement.executeUpdate();
System.out.println("888!");
} catch (SQLException e) {
e.printStackTrace();
}finally {
dbUtil .close(connection ) ;
}


我如果把这段代码的方法放在主函数main里面就可以执行成功但是放在servlet里面就不行啊
执行结果就是输出“444!”下面的PreparedStatement preparedStatement =connection .prepareStatement(sql);就执行出错啊
这是输出的结果:
444!
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1309)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1138)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at servlets.DBUtil.getConnection(DBUtil.java:11)
at servlets.addServlet.doPost(addServlet.java:29)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
...全文
420 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
试行 2018-08-09
  • 打赏
  • 举报
回复
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
出现这个bug,首先检查一个数据库驱动包,然后在检查一下连接数据库的相关配置。
偏安zzcoder 2018-08-08
  • 打赏
  • 举报
回复
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

错误是这个东西,没有找到Driver这个类,找一下是不是你的 mysql-connector.jar没有放到/WEB-INF/lib目录下,另外如果你是使用了mysql-connector-8.xxxx.jar(也就是8点几版本的jdbc)的话,Driver的包路径不再是这个了,而是com.mysql.jc.Driver好像是,昨天晚上我用了一次最新版的jdbc jar包才发现的这个问题
verejava 2018-08-07
  • 打赏
  • 举报
回复
​JDBC 预编译 增删改查

http://www.verejava.com/?id=1715771977132
都已到中年 2018-08-07
  • 打赏
  • 举报
回复
重新build一下项目吧,将jar包 add to build 到项目中
kingmax54212008 2018-07-23
  • 打赏
  • 举报
回复
嗯嗯
是找不到 jdbc driver 对应jar包的问题
kuake56 2018-07-22
  • 打赏
  • 举报
回复
引用 5 楼 xiaojun429 的回复:
错误是mysql驱动类找不到。建议查看下项目中是否导入驱动包?如果导入了,看看是否是你自己的DbUtil中代码有问题。


找到问题了 我之前导入的包好像只对java类有效 web工程还需要重新导入jar包。。
  • 打赏
  • 举报
回复
错误是mysql驱动类找不到。建议查看下项目中是否导入驱动包?如果导入了,看看是否是你自己的DbUtil中代码有问题。
verejava 2018-07-21
  • 打赏
  • 举报
回复
将 com.mysql.jdbc.Driver 驱动的 jar 放到 WEB-INF/lib 下面
如果还是不行
放到 tomcat 目录下面的 lib 下面
kuake56 2018-07-21
  • 打赏
  • 举报
回复
然后执行到这个servlet就报500错误
kuake56 2018-07-21
  • 打赏
  • 举报
回复
id和name都可以正常获取到
kuake56 2018-07-21
  • 打赏
  • 举报
回复
而且我把代码放在主函数里面就可以执行并且也能将数据插入数据库

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧