java - 插入一个属性文件,其中的 MySQL 凭据在作为 Java 应用程序运行时显示,但在作为 WebService 运行时显示为空

标签 java mysql web-services import properties

我正在尝试将属性文件导入到我的 java 项目中。在决定添加属性文件之前,我已经让 Web 服务和数据库完美运行。由于我不想在我的文件中包含我的凭据,因此我决定使用属性文件。该代码没有错误,甚至使用下面的 System.out.println 吐出我的属性文件的内容。当我运行网络服务时,它会编译然后显示: 无效的 数据库驱动程序 没有找到适合 DB_CONNECTION 的驱动程序

private static final String DB_DRIVER = ("DB_DRIVER");
private static final String DB_CONNECTION = ("DB_CONNECTION");
private static final String DB_USER = ("DB_USER");
private static final String DB_PASSWORD = ("DB_PASSWORD");

public static void main(String[] String) {
    //declare reader object outside of Try for scoping
    FileReader reader;
    try{
        reader = new FileReader("ExchangeService.properties");
        Properties properties = new Properties();
        properties.load(ClassLoader.getSystemResourceAsStream("ExchangeService.properties"));
        String driver = properties.getProperty(DB_DRIVER);
        System.out.println(driver);
        String connection = properties.getProperty(DB_CONNECTION);
        System.out.println(connection);
        String user = properties.getProperty(DB_USER);
        System.out.println(user);
        String password = properties.getProperty(DB_PASSWORD);
        System.out.println(password);
        reader.close();
    }
    catch (Exception e) {
        e.printStackTrace();
    }
}

更多代码(将数据插入集合中)blah=blah

      public static  Connection getDBConnection() {
    Connection  dbConnection = null;

    try {

        Class.forName(DB_DRIVER);

    } catch (ClassNotFoundException e) {

        System.out.println(e.getMessage());

    }

    try {

        dbConnection = DriverManager.getConnection(
        DB_CONNECTION, DB_USER,DB_PASSWORD);
        return dbConnection;

    } catch (SQLException e) {

        System.out.println(e.getMessage());

    }

    return dbConnection;

}

}

属性文件:

     DB_DRIVER=com.mysql.jdbc.Driver
     DB_CONNECTION=jdbc:mysql://localhost:3306/exchangeinformation
     DB_USER=root
     DB_PASSWORD=admin

任何帮助都会很棒!

谢谢

最佳答案

假设这是您的全部代码,那么这一行:

dbConnection = DriverManager.getConnection(DB_CONNECTION, DB_USER,DB_PASSWORD);

引用的是私有(private)静态最终字符串常量,而不是您从属性文件中读取的值。

关于java - 插入一个属性文件,其中的 MySQL 凭据在作为 Java 应用程序运行时显示,但在作为 WebService 运行时显示为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33178026/

相关文章:

c# - 从 ASP.NET Core Web 方法提供 SOAP

java - 如何通过可迭代/列表动态链接可观察对象?

php - 使用 mysql 和 php 的 Viewcount

java - Mac OS X 上 IntelliJ IDEA 中的 JDK 文档

MySQL根据日期和另一列的值更新一列的值以等于另一列的值的总和

php - 未使用 DEFAULT 值创建表

jquery - 使用 jQuery AJAX 通过 Web 服务从数据库中获取数据

javascript - 如何从 jQuery Javascript 调用带有 Array 参数的 ASP.net web 方法?

java - 如何让JFrame背景图片透明?

java - 日志级别 log4j