btopen 2020-08-27 10:52 采纳率: 0%
浏览 146

servlet中读取properties信息报空指针的问题

public class JdbcUtils {
//方法一
private static DruidDataSource dataSource;
static {
try {
Properties properties = new Properties();
// 读取 jdbc.properties 属性配置文件
InputStream inputStream =
JdbcUtils.class.getClassLoader().getResourceAsStream("user.properties");
// 从流中加载数据
properties.load(inputStream);
// 创建 数据库连接 池
dataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(properties);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 获取数据库连接池中的连接
* @return 如果返回 null,说明获取连接失败
有值就是获取连接成功
*/
public static Connection get_connection(){
Connection conn = null;
try {
conn = dataSource.getConnection();
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}

//方法二
 public static Connection get_connection()  {
    String path= "user.properties";
    Connection connection = null;
    InputStream is = null;
    try {
        Properties pro = new Properties();
        is = JdbcUtils.class.getClassLoader().getSystemResourceAsStream("user.properties");
        pro.load(is);

        DataSource dataSource = DruidDataSourceFactory.createDataSource(pro);
        connection = dataSource.getConnection();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if(is != null){
            try {
                is.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    return connection;
}

    结果就是第二种方法会报空指针异常
    ![图片说明](https://img-ask.csdn.net/upload/202008/27/1598496713_753949.png)

    求大佬解答两种方法有什么区别
  • 写回答

1条回答 默认 最新

  • threenewbee 2020-08-27 10:53
    关注

    is = JdbcUtils.class.getClassLoader().getSystemResourceAsStream("user.properties");
    这里似乎没有读取到配置文件

    评论

报告相同问题?

悬赏问题

  • ¥66 换电脑后应用程序报错
  • ¥50 array数据同步问题
  • ¥15 pic16F877a单片机的外部触发中断程序仿真失效
  • ¥15 Matlab插值拟合差分微分规划图论
  • ¥15 keil5 target not created
  • ¥15 C/C++数据与算法请教
  • ¥15 怎么找志同道合的伙伴
  • ¥20 如何让程序ab.eXe自已删除干净硬盘里的本文件自己的ab.eXe文件
  • ¥50 爬虫预算充足,跪巨佬
  • ¥15 滑块验证码拖动问题悬赏