2012-06-11 61 views
2

我的Java JSP應用程序需要在Tomcat Web服務器上存儲永久文件。此刻我將文件保存在系統的「/ temp」文件夾中。但是這個文件夾會不時被清除。此外,當前的解決方案是硬編碼的,這使得它不太靈活(例如,當移動到另一個服務器時)。在Tomcat環境中定位Java JSP應用程序文件的最佳實踐

我想現在如果有一個定義在此配置訪問永久目錄中的最佳實踐。詳細地說,定義應用程序文件目錄的最佳位置在哪裏,以及如何從我的Java應用程序中訪問此應用程序?這個設置的目標是在(a)更新應用程序(即放置一個新的war文件)和(b)從一個服務器移動到另一個服務器和OS(例如Unix,Windows,MacOS)時花費最少的時間。

研究我對這個問題做過到目前爲止透露,以下是解決方案(可能在其他之中):

1)在Tomcat的安裝目錄自定義子目錄的應用。

  • 如果我通過 戰爭文件在tomcat上部署新版本,那麼這些文件會發生什麼?
  • 我在哪裏可以在我的Java應用程序中定義要從 訪問的目錄?

2.)在文件系統的單獨目錄中。

  • 哪些地點或方式可以在不知道 系統的情況下獲取位置?
  • 我在哪裏可以在我的Java應用程序中定義要從 訪問的目錄?

謝謝您的建議!

回答

1

本質上,你正在創建一個數據庫的形式的一些文件。在Java EE和servlet容器的世界中,唯一真正通用的方法是通過JNDI配置這樣的資源。 Tomcat和其他容器沒有「爲web應用程序提供永久存儲空間」的概念。如果Web應用程序需要持久存儲,則需要通過JNDI或-D進行配置,或者通過向其發佈內容來進行配置。沒有可以借用的慣例或標準慣例。

您可以按照約定選擇文件系統路徑名並記錄該約定(例如,Linux上的/ var/something,Windows上類似的東西)。但是你不一定會與其他人正在做的事情相一致。

相關問題