
Tomcat Servlet无法加载MySQL驱动,JUnit测试却成功的原因及解决方法
在使用Servlet连接MySQL数据库时,出现找不到MySQL驱动的错误。奇怪的是,同样的代码在JUnit单元测试中却能正常运行。
问题根源:Tomcat类路径缺失JDBC驱动
问题在于Tomcat 9的类加载机制。Servlet运行在Tomcat容器中,而JUnit测试运行在独立的JVM环境中。JUnit测试环境通常已经包含了必要的JDBC驱动,而Tomcat的类路径中可能缺少MySQL Connector/J JAR包。
解决方案:手动部署MySQL驱动到Tomcat
-
下载MySQL Connector/J: 从MySQL官方网站下载与您MySQL版本兼容的Connector/J JAR包。
-
部署到Tomcat lib目录: 将下载的JAR包复制到Tomcat的
lib目录下(例如:C:\Tomcat\lib)。Tomcat启动时会自动加载该目录下的JAR包。
完成以上步骤后,重新启动Tomcat服务器,Servlet应该就能成功加载MySQL驱动并连接数据库了。











