Во-первых, JSP является неправильным местом для этого. Сделайте это в реальном классе Java. Начните с сервлета . Есть форма с кнопкой, которая подчиняется сервлету. Поместите этот код в метод doPost()
. Пусть сервлет поместит результат в область запроса и перенаправит запрос в JSP. Пусть JSP отобразит результат.
Во-вторых, изучите ловушки Runtime#exec()
в этой статье . Ваша проблема в том, что вы не проверяете ни результат, ни поток ошибок (и, следовательно, никогда не знаете, была ли программа выполнена успешно), и что вы ожидаете, что она каким-то образом будет работать синхронно с вашим кодированием (в то время как она фактически выполняется в отдельном потоке / процесс). По сути, вы делаете «выстрел и забудь», код в основном не отслеживает выполнение / завершение программы.
Эта проблема, кстати, не имеет ничего общего с JSP. Вы столкнетесь с точно такой же проблемой, когда будете делать это в обычном классе Java.