веб-доступ к списку файлов вне каталога tomcat - PullRequest
0 голосов
/ 25 августа 2009

У меня есть сценарий использования, когда мне нужно отобразить список некоторых файлов журналов для пользователя, при щелчке каждого файла журнала должно открываться новое окно для отображения содержимого этого конкретного файла журнала.

Окружение в Java / Tomcat. Файлы могут находиться в каталоге вне tomcat.

Может кто-нибудь сказать мне, что может быть лучшим подходом для этого ...?

Большое спасибо, Сантош

1 Ответ

0 голосов
/ 25 августа 2009

Установите файл конфигурации в известном месте, которое позволит человеку, устанавливающему веб-приложение, точно описать, какой каталог (или каталоги) можно просматривать. Вы определенно не хотите, чтобы пользователь веб-приложения мог просматривать любой каталог.

Затем у вас есть выбор: сканировать настроенные каталоги при загрузке страницы или в отдельном потоке. Если в отдельном потоке, веб-приложение просто должно отображать текущее содержимое любого списка, который заполняет ваш внутренний поток.

Используйте какой-то уникальный идентификатор для каждого файла. Вам не следует использовать имя файла, если вы не готовы выполнить все виды очистки и проверки того, что пользователь веб-приложения не предоставил путь к какому-либо другому расположению на вашем сервере и что символы в нем безопасны. Уникальный идентификационный номер позволит вам посмотреть (например, на карте), какой файл хочет просмотреть пользователь.

Наконец, отображение файла так же просто, как чтение / запись, но вам, вероятно, следует использовать потоковый подход, а не пытаться прочитать весь файл сразу и затем сбросить его по соединению.

Если вы не планируете форматировать файл, вам, вероятно, следует установить тип содержимого как «text / plain» (по умолчанию будет «text / html», что, скорее всего, будет отображаться неправильно).

Если вы хотите отформатировать его, вам нужно выяснить, как это сделать самостоятельно.

...