servlet无法调用数据库。

普通测试能获取到数据库对象,但是用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

问题解决了吗 我也碰到了同样的问题