8080:jsp中mysql数据Class.forName(DBDRIVER)出问题 ;

本文详细介绍了在JSP应用中遇到的mysql数据库连接问题,主要原因是Class.forName(DBDRIVER)调用失败,通常是因为数据库连接的jar包未正确放置在项目路径中或Tomcat的lib目录下。

8080:jsp中mysql数据Class.forName(DBDRIVER)出问题 ;

数据库连接的jar包没有放到path路劲中

也可以将jar包放到tomcat中的lib包中

"C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.3\jbr\bin\java.exe" -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=52419:C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.3\plugins\junit\lib\junit5-rt.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.3\plugins\junit\lib\junit-rt.jar;C:\edu_work\lagou_edu_home\target\test-classes;C:\edu_work\lagou_edu_home\target\classes;C:\software\maven\repository\javax\servlet\javax.servlet-api\3.1.0\javax.servlet-api-3.1.0.jar;C:\software\maven\repository\javax\servlet\jsp\jsp-api\2.2\jsp-api-2.2.jar;C:\software\maven\repository\junit\junit\4.13\junit-4.13.jar;C:\software\maven\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\software\maven\repository\commons-beanutils\commons-beanutils\1.8.3\commons-beanutils-1.8.3.jar;C:\software\maven\repository\commons-dbutils\commons-dbutils\1.6\commons-dbutils-1.6.jar;C:\software\maven\repository\commons-logging\commons-logging\1.1.1\commons-logging-1.1.1.jar;C:\software\maven\repository\mysql\mysql-connector-java\5.1.37\mysql-connector-java-5.1.37.jar;C:\software\maven\repository\com\alibaba\druid\1.0.9\druid-1.0.9.jar;C:\software\maven\repository\com\alibaba\fastjson\1.2.3\fastjson-1.2.3.jar;C:\software\maven\repository\com\colobu\fastjson-jaxrs-json-provider\0.3.1\fastjson-jaxrs-json-provider-0.3.1.jar;C:\software\maven\repository\commons-io\commons-io\1.4\commons-io-1.4.jar;C:\software\maven\repository\commons-fileupload\commons-fileupload\1.2.1\commons-fileupload-1.2.1.jar;C:\software\maven\repository\org\projectlombok\lombok\1.18.0\lombok-1.18.0.jar" com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 com.lagou.dao.TestCourseDao,testFindCourseList 11月 19, 2025 4:49:41 上午 com.alibaba.druid.support.logging.JakartaCommonsLoggingImpl error 严重: dataSource init error java.sql.SQLException: com.mysql.cj.jdbc.Driver at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:520) at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:583) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:915) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:911) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:98) at org.apache.commons.dbutils.AbstractQueryRunner.prepareConnection(AbstractQueryRunner.java:204) at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:287) at com.lagou.dao.impl.CourseDaoImpl.findCourseList(CourseDaoImpl.java:31) at com.lagou.dao.TestCourseDao.testFindCourseList(TestCourseDao.java:16) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58) Caused by: java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:315) at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:518) ... 33 more 11月 19, 2025 4:49:41 上午 com.alibaba.druid.support.logging.JakartaCommonsLoggingImpl info 信息: {dataSource-1} inited java.sql.SQLException: com.mysql.cj.jdbc.Driver at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:520) at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:583) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:915) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:911) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:98) at org.apache.commons.dbutils.AbstractQueryRunner.prepareConnection(AbstractQueryRunner.java:204) at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:287) at com.lagou.dao.impl.CourseDaoImpl.findCourseList(CourseDaoImpl.java:31) at com.lagou.dao.TestCourseDao.testFindCourseList(TestCourseDao.java:16) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58) Caused by: java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:315) at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:518) ... 33 more null
最新发布
11-20
jsp文件运行报错HTTP状态 500 - 内部服务器错误 类型 异常报告 消息 org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.data_jsp 描述 服务器遇到一个意外的情况,阻止它完成请求。 例外情况 org.apache.jasper.JasperException: org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.data_jsp org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:578) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:422) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:377) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:325) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 根本原因。 org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.data_jsp org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:194) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:410) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:377) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:325) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 根本原因。 java.lang.ClassNotFoundException: org.apache.jsp.data_jsp java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:129) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:58) org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:189) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:410) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:377) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:325) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
05-13
package com.yyq.dao; import com.yyq.entity.Admin; import com.yyq.util.DBInstance; import com.yyq.util.DBUtil; import com.yyq.util.PageUtil; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * @Author 写你的名字 * @Date 2025/9/24 上午11:53 (可以根据需要修改) * @Version 1.0 (版本号) */ public class AdminDao { private DBUtil dbUtil ; public AdminDao() { this.dbUtil = DBInstance.getDbUtil(); } public int addAdmin(Admin admin){ String sql = "insert into admin(account,password,tel,nickName,icon,createtime,delflag) values(?,?,?,?,?,?,?)"; Object[] params = { admin.getAccount(), admin.getPassword(), admin.getTel(), admin.getNickName(), admin.getIcon(), admin.getCreatetime(), admin.getDelflag() }; int row = 0; try { row = dbUtil.executeUpdate(sql, params); } catch (SQLException e) { throw new RuntimeException(e); } catch (ClassNotFoundException e) { throw new RuntimeException(e); } return row; } //登录验证 public Admin login(String account,String password) { //delflag是啥 String sql = "select * from admin where account = ? and password = ? and delflag = '0'"; Object[] params = {account,password}; List<Admin> admins = null; try { admins = dbUtil.executeQuery(sql, params, Admin.class); admins.forEach(System.out::println); return admins.size()>0 ? admins.get(0) : null; } catch (SQLException e) { throw new RuntimeException("登录查询失败",e); } } public List<Admin> adminList(Map<String,Object> map){ String sql = "select admin.* from admin where delflag = '0'"; List<Object> params = new ArrayList<>(); if(map.get("nickName")!=null&& !map.get("nickName").toString().isEmpty()){ sql += "where nickName like concat ('%',?,'%')"; params.add(map.get("nickName")); } sql+="limit ?,?"; System.out.println(sql); map = PageUtil.formatPage(map); params.add(map.get("pageIndex")); params.add(map.get("pageSize")); List<Admin> adminList = null; try { adminList = dbUtil.executeQuery(sql,params.toArray(),Admin.class); } catch (SQLException e) { throw new RuntimeException("查询执行错误",e); } return adminList; } public int pageCount(int pageSize){ String sql = "select ceil(count(*) /?) pageCount from admin where delflag='0'"; Object[] params = {pageSize}; List<Admin> list = null; try { list = dbUtil.executeQuery(sql, params, Admin.class); } catch (SQLException e) { throw new RuntimeException("分页功能失败",e); } return list.get(0).getPageCount(); } //根据name查询管理员 public Admin getAdminByName(String nickName){ String sql = "select * from admin where nickName = ?"; Object[] params ={nickName}; try { List<Admin> adminList = dbUtil.executeQuery(sql, params, Admin.class); return adminList.size()>0? adminList.get(0):null; } catch (SQLException e) { throw new RuntimeException("查询管理员失败",e); } } //更新管理员信息 public int updateAdmin(Admin admin) { String sql = "update admin set account =? ,password = ?,tel = ?,nickName=?,icon=? where adminId=?"; Object[] params = { admin.getAccount(), admin.getPassword(), admin.getTel(), admin.getNickName(), admin.getIcon(), admin.getAdminId() }; try { return dbUtil.executeUpdate(sql, params); } catch (SQLException e) { throw new RuntimeException(e); } catch (ClassNotFoundException e) { throw new RuntimeException("更新管理员失败", e); } } public int deleteAdmin(int adminId){ String sql = "uodate admin set delflag ='1' where adminId=? "; Object[] params = {adminId}; try { return dbUtil.executeUpdate(sql,params); } catch (SQLException e) { throw new RuntimeException(e); } catch (ClassNotFoundException e) { throw new RuntimeException("删除管理员失败",e); } } } HTTP状态 500 - 内部服务器错误 类型 异常报告 消息 执行查询失败 描述 服务器遇到一个意外的情况,阻止它完成请求。 例外情况 java.lang.RuntimeException: 执行查询失败 com.yyq.util.DBUtil.executeQuery(DBUtil.java:89) com.yyq.dao.AdminDao.login(AdminDao.java:54) com.yyq.servlet.AdminServlet.doPost(AdminServlet.java:44) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 根本原因。 java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1380) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1189) java.base/java.lang.Class.forName0(Native Method) java.base/java.lang.Class.forName(Class.java:375) com.yyq.util.DBUtil.getConnection(DBUtil.java:44) com.yyq.util.DBUtil.executeQuery(DBUtil.java:66) com.yyq.dao.AdminDao.login(AdminDao.java:54) com.yyq.servlet.AdminServlet.doPost(AdminServlet.java:44) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ):注意 主要问题的全部 stack 信息可以在 server logs 里查看 Apache Tomcat/10.1.42
09-26
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值