簡體   English   中英

更新Web應用程序中的屬性文件

[英]updating a properties file in a web application

我有一個屬性文件(在rsources文件夾下),在其中存放一個變量(鍵=值),

用戶插入新值或更新舊值時,我需要更新它,那么我可以這樣做嗎? 我對此表示懷疑,因為它是一個Web應用程序,因此僅僅是部署在服務器中的一場戰爭。 那么如何訪問.properties文件並直接從代碼中進行更改?

如果不可能,還有其他解決方案嗎?

也許用戶可以在文件系統中提供覆蓋屬性文件,其值將覆蓋打包的默認屬性文件。

請查看Apache Commons Configuration ,該配置 允許使用此功能

通常,您希望提供一組基本的配置值,但允許用戶針對其特定環境輕松覆蓋它們。 一種方法是將默認值硬編碼到代碼中,然后提供覆蓋它的屬性文件。 但是,這是一種非常嚴格的處理方式。 相反,使用CompositeConfiguration可以提供許多不同的設置配置方式。

您可以在數據庫中創建一個新表(例如T_PROPERTIES)並在表中添加/修改行,而不用修改屬性文件。 用2列,鍵和值定義表,並相應地更改記錄。

您可以讓用戶寫入屬性文件,但我認為這樣做不是很干凈。 java.util包中有一個名為“ Properties”的類,您可以使用該類從Web應用程序中加載物理屬性文件的表示形式。

例如,要加載屬性文件,可以使用以下代碼:

 public void loadProps(File pfile) throws IOException {
    Properties props = new Properties();
    FileInputStream fis = new FileInputStream(propsFile);
    props.load(fis);    
    fis.close();
}

現在,您可以使用內置命令來操作文件:-setProperty(String key,String value); -get(對象鍵);

完成后,您可以僅在屬性Object上調用save方法。 您將需要一個OutputStream。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM