连接到数据库使用java web应用程序中的属性文件
我编写了一个从servlet连接到数据库的代码。我想使用属性。但它不起作用。我想我的代码或属性文件有问题。请帮助我更正它连接到数据库使用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
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();
}