Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
连接到数据库使用java web应用程序中的属性文件_Java_Web Applications_Properties_Database Connection - Fatal编程技术网

连接到数据库使用java web应用程序中的属性文件

连接到数据库使用java web应用程序中的属性文件,java,web-applications,properties,database-connection,Java,Web Applications,Properties,Database Connection,我编写了一个从servlet连接到数据库的代码。我想使用属性。但它不起作用。我想我的代码或属性文件有问题。请帮助我更正它 try { Properties prop=new Properties(); FileInputStream in = new FileInputStream(System.getProperty("WEB-INF/dbConnection.properties")); prop.loa

我编写了一个从servlet连接到数据库的代码。我想使用属性。但它不起作用。我想我的代码或属性文件有问题。请帮助我更正它

try
        {
            Properties prop=new Properties();
            FileInputStream in = new FileInputStream(System.getProperty("WEB-INF/dbConnection.properties"));
            prop.load(in);
            in.close();

            String drivers = prop.getProperty("jdbc.drivers");
            String connectionURL = prop.getProperty("jdbc.url");
            String username = prop.getProperty("jdbc.username");
            String password = prop.getProperty("jdbc.password");
            Class.forName(drivers);
            con=DriverManager.getConnection(connectionURL,username,password);
            System.out.println("Connection Successful");

..
这是我的属性文件

jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@192.168.101.84:1521:orcl
jdbc.username=user1
jdbc.password=123
而不是

FileInputStream in = new FileInputStream(System.getProperty("WEB-INF/dbConnection.properties"));
使用

本部分:

(System.getProperty("WEB-INF/dbConnection.properties")); 
实际上指的是您的类路径,请尝试删除
WEB-INF/
或离开
/
,以检查根文件夹


或者,您可以为类名指定完全限定名,即:
“C:\\foo\\test\\…\\dbConnection.properties”
“/app/blah/../dbConnectionProperties”

,在属性文件中,您已将驱动程序定义为“jdbc.drivercassname”


但是,当传递变量时,您只需作为'jdbc.drivers'传递。

使用
getResourceAsStream()
加载属性文件。检查。使用此InputStream InputStream=this.getClass().getClassLoader().getResourceAsStream(“dbConnection.properties”);两条指令中的“in”都将为空!我在WEB-INF中创建了一个dbConnection.properties并放置了我的信息。因此,当我调试我的项目时,当它达到这个命令时,它不会在“in”中放入任何内容,并给我异常删除
WEB-INF/
,然后看看会发生什么。或者尝试查找实际路径,因为我看不到您的系统,所以在这方面无法提供帮助。
getClass().getClassLoader().getResourceAsStream(“dbConnection.properties”)
应该可以工作
try  {
    FileReader reader = new FileReader("Full Path");
    Properties prop = new Properties();
    prop.load(reader);

    String drivers = prop.getProperty("jdbc.driverClassName");
    String connectionURL = prop.getProperty("jdbc.url");
    String username = prop.getProperty("jdbc.username");
    String password = prop.getProperty("jdbc.password");
    Class.forName(drivers);
    Connection con = DriverManager.getConnection(connectionURL, username, password);
    System.out.println("Connection Successful");
} catch (SQLException sqle) {
    // TODO: Add catch code
    sqle.printStackTrace();
} catch (FileNotFoundException fnfe) {
    // TODO: Add catch code
    fnfe.printStackTrace();
} catch (IOException ioe) {
    // TODO: Add catch code
    ioe.printStackTrace();
} catch (ClassNotFoundException cnfe) {
    // TODO: Add catch code
    cnfe.printStackTrace();
}catch (Exception e) {
    // TODO: Add catch code
    e.printStackTrace();
}
try  {
    FileReader reader = new FileReader("Full Path");
    Properties prop = new Properties();
    prop.load(reader);

    String drivers = prop.getProperty("jdbc.driverClassName");
    String connectionURL = prop.getProperty("jdbc.url");
    String username = prop.getProperty("jdbc.username");
    String password = prop.getProperty("jdbc.password");
    Class.forName(drivers);
    Connection con = DriverManager.getConnection(connectionURL, username, password);
    System.out.println("Connection Successful");
} catch (SQLException sqle) {
    // TODO: Add catch code
    sqle.printStackTrace();
} catch (FileNotFoundException fnfe) {
    // TODO: Add catch code
    fnfe.printStackTrace();
} catch (IOException ioe) {
    // TODO: Add catch code
    ioe.printStackTrace();
} catch (ClassNotFoundException cnfe) {
    // TODO: Add catch code
    cnfe.printStackTrace();
}catch (Exception e) {
    // TODO: Add catch code
    e.printStackTrace();
}