Какой самый простой способ справиться с текстовым файлом с помощью JSP?

StackOverflow https://stackoverflow.com/questions/306012

  •  08-07-2019
  •  | 
  •  

Вопрос

На самом деле в приложении * NIX есть приложение Java ServerPages (JSP), которое я в некоторой степени администрирую с хорошими разрешениями. Идея состоит в том, чтобы создать новую, но мертвую простую страницу JSP для управления некоторыми скриптами Korn Shell, которые я там запускаю. Таким образом, цель состоит в том, чтобы создать какую-то форму HTML, которая будет писать что-то вроде файла scriptStatus.on / scriptStatus.off:

#!usr/bin/ksh
# coolScript.sh
# This is my cool script that is being launched by cron every 10 minutes.

if [ -e scriptStatus.off ]
  then 
      # monitor disabled
  else
      # monitor enabled
fi

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

Большое спасибо заранее!

Это было полезно?

Решение

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

Для такой простой задачи вам не нужна библиотека типа Apache Commons IO. File.createNewFile и File.delete можно использовать, если вас не беспокоит состояние гонки между двумя разными пользователями.

File flag = new File("/path/scriptStatus.off");
String message;
if (flag.delete())
  message = "Script enabled.";
else if (flag.createNewFile()) 
  message = "Script disabled.";
else
  /* Maybe missing directory, wrong permissions, race condition. */
  message = "Error: script state unknown.";

Задание cron может проверить, существует ли (пустой) файл или нет, и действовать соответствующим образом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top