普通测试能获取到数据库对象,但是用servlet就访问不到数据库对象,拿到的对象是空,求大佬。servlet是可以运行的,就只是一行获取连接对象的代码,但是两个运行完全不一样,环境,代码都是一样的
你用的是什么数据库,驱动包导入了没有,报的错误要截出来看看
驱动包版本和数据库版本不一致问题
贴错误代码看看
但是上面第三张图已经导入了的,而且用主函数测试就没问题(上图2),用servlet就获取为空(上图1)
public class DButils { private static Connection connection=null; static{ try { Class.forName("com.mysql.cj.jdbc.Driver"); try { connection= DriverManager.getConnection("jdbc:mysql://localhost:3306/class?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true","root","root"); } catch (SQLException throwables) { throwables.printStackTrace(); } } catch (ClassNotFoundException e) { e.printStackTrace(); } } public static Connection getConnection() { System.out.println(connection+"DButils"); return connection; } }
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
问题解决了吗 我也碰到了同样的问题