Как развернуть файл данных на веб-сервере Tomcat в ОС Linux Debian - PullRequest
0 голосов
/ 10 октября 2011

У меня есть веб-приложение, разработанное с использованием JSP и Servlet. Это веб-приложение развернуто на сервере, на котором установлена ​​ОС Debian Linux, а версия Tomcat - 5.5.31. Поскольку этим приложениям требуются некоторые файлы данных, эти файлы данных будут создаваться автоматически, когда настройка выполняется с помощью отдельного Java-приложения. Это приложение развернуто на другом компьютере. Эта настройка сделана. Поскольку я не очень много знаю о Debian Linux и о том, где находится мое приложение, у меня есть некоторые сомнения в развертывании этих автоматически сгенерированных файлов данных:

  1. Поскольку я сделал .war-файл своего веб-приложения и развернул его с помощью Tomcat Manager. поэтому я не знаю, куда именно отправляется мое приложение. Я не знаю точного пути. Как мне это найти?

  2. Можно ли создать FTP для этого веб-приложения, которое развернуто на сервере Debian Linux? Я думаю, что если создание FTP возможно, то я напрямую подключусь к FTP с помощью своей автономной Java-программы и легко выполню создание файла и другие операции с файлами и каталогами.

1 Ответ

1 голос
/ 10 октября 2011

Если вы развернули войну, приложение не находится нигде в файловой системе как таковой. Большинство серверов где-то распаковывают войну, но не стоит полагаться на то, где это.

Я могу придумать несколько вариантов:

  1. getServletContext (). GetAttribute ("javax.servlet.context.tempdir"), чтобы получить временный каталог приложения, затем сообщить внешней программе об этом местоположении и поместить файл где-то там в известном месте.

  2. Создайте «известное местоположение» вне приложения, например, / tmp / где-нибудь или / var / cache / your-app / где-нибудь для размещения таких файлов. (Примечание: / tmp обычно очищается при запуске машины с Linux)

Что касается получения файла на сервер с удаленного компьютера: вы можете заставить своего клиента загрузить файл непосредственно в ваше веб-приложение (что-то вроде Apache HTTPClient поможет вам в этом), что означает, что вы можете обойтись без "ноу" расположение "выше. Если вы хотите сделать это вне приложения, я бы избегал FTP (из-за безопасности). Вместо этого я бы использовал scp (безопасное копирование).

Редактировать: Читая немного между строк, вы упоминаете «настройки» в файле данных. Если это файл конфигурации, который не изменяется при запуске приложения, может оказаться более удобным иметь шаг «развертывания» на вашем сервере, который просто берет файл настроек и добавляет его к войне перед его развертыванием. Это достаточно просто, например, с помощью «муравьиной войны». Затем вы можете получить доступ к файлу, используя getClass (). GetResourceStream (..) или что-то подобное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...