Взаимодействие с java приложением

146
23 февраля 2019, 00:30

Есть приложение в котором можно выполнять скрипты на JS. Задача - из этого приложения отправлять e-mail. Хочу написать приложение для отправки email на Java. Приложение работает на OS Windows.

Как организовать взаимодействие JS и java программы? Какие способы взаимодействия существуют?

В JS можно создать ActiveXObject объект и работать с его полями и методами. Можно ли подобным образом организовать работу с Java приложением?

Или необходимо создавать веб-сервис и все запросы к Java приложению отправлять как http-запросы(не очень удобно для локального использования)?

Answer 1

Вы можете воспользоваться движком Nashorn

Example.java

public class Example {
    public static void main(String[] args) {
        ScriptEngineManager factory = new ScriptEngineManager();
        ScriptEngine engine = factory.getEngineByName("nashorn");
        File script = new File("script.js");
        try (BufferedReader reader = new BufferedReader(
          new InputStreamReader(
            new FileInputStream(script), "UTF8"))) {
            engine.eval(reader);
        }
        catch (ScriptException exc) {
            exc.printStackTrace();
        }
        catch (IOException exc) {
            exc.printStackTrace();
        }
    }
    public static class EMail {
        private String addr;
        private String subject;
        private String text;
        public EMail() {}
        public EMail(String addr, String subject, String text) {
            this.addr = addr;
            this.subject = subject;
            this.text = text;
        }
        // Аксессоры
        public void send() {
            System.out.format("Отправка письма с темой '%s' на адрес %s\n", subject, addr);
        }
    }
}

scripts.js

var EMail = Java.type("Example.EMail");
var email = new EMail("test@mail.ru", "Тест", "Проверка");
email.send();
READ ALSO
Вопрос по Java Web

Вопрос по Java Web

кто может подсказать, нашёл такой код(отрывок):

135
Kafka Consumer один поток - один топик

Kafka Consumer один поток - один топик

Есть много топиков сообщений из Kafka, например 20

160
Конвертация Json в объект

Конвертация Json в объект

Столкнулся с проблемой конверации строки json в объектЯ использую mapper

141
Почему не получается подключить css и js к html странице в Spring MVC проекте? Java

Почему не получается подключить css и js к html странице в Spring MVC проекте? Java

Почему не подключаются стили и js к странице? При отображении страницы- у этих файлов получаю

194