Как запустить скрипт bash (linux) во встроенном веб-приложении, используя tomcat 7?
Я хочу запустить скрипт Bash с Java EE / сервлетов. Я хочу, чтобы он был встроен в веб-приложение, используя tomcat 7 в операционной системе Linux.
2 ответа
- Вставьте скрипт в веб-приложение, например, в корень файла war.
Получите путь к файлу после развертывания приложения с помощью:
String scriptPath = getServletContext().getRealPath("/script.sh");
Запустите скрипт с классом ProcessBuilder:
new ProcessBuilder("/bin/sh", scriptPath).start();
Обратите внимание, что шаг 2 может завершиться неудачно, если ваш контейнер сервлетов не извлекает содержимое файла war. В этом случае вам нужно будет поместить скрипт в качестве ресурса, доступного на пути к классам, скопировать его содержимое во временный файл и запустить там скрипт.
Вы должны найти, как включить и использовать CGI на Tomcat.
CGI (Common Gateway Interface) определяет способ взаимодействия веб-сервера с внешними программами, генерирующими контент, которые часто называют CGI-программами или CGI-скриптами.
Источник: Apache Tomcat 7 Документация: CGI How To