0
私はnetbeansを使用しています。私はWEB-INFフォルダからdb.propertiesファイルを読みたいと思っています。しかし、それはnullを返します。WEB-INFからdb.propertiesファイルを読み込む方法
InputStream input = getClass().getClassLoader().getResourceAsStream("db.properties"); // returning null
InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream("/db.properties"); // returning null.
私はdb.propertiesファイルint Web_INF/class上記のコードをうまく動作させる。
次のコードでは、両方のケースでファイルが見つかりません。 (Web-INF/db.propertiesおよびWeb-INF/classes/db.propertiesにあります)。
FileInputStream fileInput = new FileInputStream(new File("db.properties")); //throws exception
任意の手がかり。
package com.towertech.db;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import org.apache.tomcat.jdbc.pool.*;
public class DataSource
{
PoolProperties poolProperties;
org.apache.tomcat.jdbc.pool.DataSource datasource;
ClassLoader classLoader;
InputStream input;
FileInputStream fileInput;
Properties properties;
public org.apache.tomcat.jdbc.pool.DataSource getDatasource() {
return datasource;
}
public void setDatasource(org.apache.tomcat.jdbc.pool.DataSource datasource) {
this.datasource = datasource;
}
public DataSource() throws FileNotFoundException, IOException
{
input = getClass().getClassLoader().getResourceAsStream("/WEB-INF/db.properties");
input = Thread.currentThread().getContextClassLoader().getResourceAsStream("/WEB-INF/db.properties");
fileInput = new FileInputStream(new File("/WEB-INF/db.properties"));
if(input == null)
properties.load(fileInput);
else
properties.load(input);
poolProperties = new PoolProperties();
poolProperties.setDbProperties(properties);
datasource.setPoolProperties(poolProperties);
}
public static void main(String[] args) throws IOException
{
DataSource ds = new DataSource();
System.out.println(ds.toString());
}
public Connection getConnection() throws SQLException
{
return datasource.getConnection();
}
public void returnConnection(Connection con) throws SQLException
{
con.close();
}
}
uは、サーブレットを使用していますか?またはスプリングコントローラ?他の ? – developer
私はSpring Webサービスを使用しています – MUHIUDDIN
これはコントローラまたはサービスから呼び出されますか?私はDataSourceクラスをどこから呼び出すのでしょうか? – developer