Разница между CLI и интерактивными командами заключается в том, что вы должны читать из STDIN процесса и записывать в его STDOUT.Я не знаю о Flex, но вы определенно можете сделать это с простым HttpRequest, хотя это не тривиально.
Используйте HTTP POST для запуска команды.Но перед запуском создайте HTTP-запрос GET.И GET, и POST должны иметь некоторый идентификатор корреляции.Вы можете отправить его с помощью параметра.Запрос GET будет обработан сервлетом doGet (), который должен завершаться только после завершения выполняемой вами команды.Запрос POST должен обрабатываться doPost () и командой run.Используйте PipedOutputStream для соединения между STDOUT вашей команды и выходным потоком HTTP сервлета, чтобы все байты, напечатанные вашим приложением, были переданы через соединение HTTP и могли отображаться в пользовательском интерфейсе.
Когда пользователь вводит следующую подкоманду, отправьте ее сотправьте сообщение с тем же идентификатором корреляции, чтобы вы могли найти «правильный» процесс на стороне сервера и записать переданные байты в его STDIN.
Кстати, вам действительно все это нужно?Возможно, у вас есть более простое решение?В любом случае, удачи.