歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java讀取WEB-INF目錄下的properties配置文件

如何在Java代碼中讀取WEB-INF目錄下的properties配置文件,下文給出了一個解決方案。

我們習慣將一些配置信息寫在配置文件中,比如將數據庫的配置信息URL、User和Password寫在配置文件中,這樣部署系統的時候,不需要修改代碼,而只需要修改配置文件即可。

我將配置文件放在MyEClipse工程文件夾下的WEB-INF目錄,在Java代碼中讀取配置文件的代碼是這樣的:

String path = ParametersReader.class.getResource("/").getPath();
String websiteURL = (path.replace("/build/classes", "").replace("%20"," ").replace("classes/", "") + "parameter.properties").replaceFirst("/", "");

第一行代碼中的ParametersReader.class指的是當前類的名字,path變量中存放的實際上是當前類所在的路徑。

這樣的話,我們就得到了當前項目WEB-INF的目錄。我們將數據庫的配置信息寫在parameter.properties文件中,這個文件是放在WEB-INF目錄下的,該配置文件中的內容如下:

#JDBC MySQL Connection
mysql_url=jdbc:mysql://127.0.0.1:3306/mydatabasename
mysql_user=root
mysql_password=123456

那麼針對上述配置文件,讀取該配置文件的完整代碼應該是這樣的:

public static void getParameters() {
  String path = ParametersReader.class.getResource("/").getPath();
  String websiteURL = (path.replace("/build/classes", "").replace("%20"," ").replace("classes/", "") + "parameter.properties").replaceFirst("/", "");
  Properties properties = new Properties();
  FileInputStream fileInputStream = null;
  try {
   fileInputStream = new FileInputStream(websiteURL);
   properties.load(fileInputStream);
   MYSQL_URL = properties.getProperty("mysql_url");
   MYSQL_USER = properties.getProperty("mysql_user");
   MYSQL_PASSWORD = properties.getProperty("mysql_password");
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   try {
    fileInputStream.close();
   } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }
 }

代碼中的MYSQL_URL,MYSQL_USER,MYSQL_PASSWORD這三個變量都是定義好的靜態變量,getParameters()方法是用來給這三個變量賦值的。

目前越來越多使用XML文件代替properties文件來存放配置信息,所以,我們也可以將xml文件放在WEB-INF目錄下,通過dom4j等工具來讀取xml文件。

Copyright © Linux教程網 All Rights Reserved