Сохранить данные, связанные с веб-приложением, без базы данных - PullRequest
0 голосов
/ 23 августа 2011

Моя задача - сохранить, а затем прочитать некоторые произвольные данные в файле внутри веб-приложения. Я не могу использовать жестко запрограммированные системные пути, поскольку на одном сервере может быть запущено несколько экземпляров моего веб-приложения. У меня есть некоторые ограничения и я не могу использовать базу данных для управления этим. Итак, вот вопрос: есть ли способ сохранить произвольные данные, связанные с моим экземпляром веб-приложения, используя api контейнера сервлетов. Я использую Tomcat 7 и могу рассчитывать на это при необходимости.

1 Ответ

0 голосов
/ 24 августа 2011

Вы можете сделать что-то вроде этого

  1. Создайте папку в своем веб-приложении, назовем ее webapp-data, поместите ее над папкой WEB-INF
  2. Для доступа к этому путивы можете сделать что-то вроде этого
  3. String outputFolder = getServlet (). getServletContext (). getRealPath ("webapp-data")
  4. Хотя вы запускаете несколько экземпляров одного и того же веб-приложения в server / jvm , вы не можете иметь одинаковое имя контекста для всех этих веб-приложений
  5. Создать новый файл, например, с именем String fileName = getServlet (). GetServletContext ().getServletContextName ()
  6. String fullPath = outputFolder + File.pathSeparator + fileName + ".any extension";
  7. Создать файл с полным путем и записать в него. Он будет уникальным и также будетбыть привязанным к экземпляру развернутого веб-приложения.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...