Как вы соединяете бэкэнд Java с интерфейсом html / css?

Привет, я довольно хорошо знаю язык HTML, CSS и Java, но я совершенно не знаю, как подключить бэкэнд java к интерфейсу. Когда дело касается программирования, я полный любитель, просто я достаточно хорошо знаю основы каждого из этих языков. У меня есть HTML и CSS, закодированные для ввода, и у меня есть все вычисления, написанные на Java, так что у меня есть готовые функции того, что я хочу делать. Я просто не знаю, как передать ввод пользователя из HTML в вычисления в Java. Я просто запускаю свой Java-код, используя сканер в качестве пользовательского ввода, но я хочу интегрировать все свои коды, чтобы сделать его настоящим веб-сайтом, и я думаю, что мне понадобится нечто большее, чем сканер, чтобы пользователь мог что-то ввести на веб-сайт. Я исследовал эту тему несколько раз и нашел информацию о серверлетах и ​​IntelliJ, но эта информация сбивала меня с толку, потому что, опять же, я полный любитель информатики (кроме знания этих языков). Некоторые также сказали, что лучший способ - преобразовать мой java-код в javascript, но я не уверен, что это лучший способ. Есть предложения / информация о том, что делать? Вот часть моего кода Java (эта часть принимает вводимые пользователем данные, ищет числа перед последней косой чертой, а затем добавляет их к двойной первой сумме). Спасибо!

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    double firsum = 0; 
    while (sc.hasNext()) {
        String ip = sc.nextLine();
        int def = ip.lastIndexOf("/");
        double firnum = 0;
        for (int i = 1; i < 7; i++) {
            if (ip.charAt(def-i) != '\t') {
                firnum = Double.parseDouble(ip.substring(def - i, def));
                out.println(firnum);
            }
        }
        firsum += firnum;
    }
} 
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
4
0
25 533
3

Ответы 3

Вы можете использовать микро-веб-фреймворки Java, такие как Spring, Dropwizard, SparkJava, для ответа на HTTP-запросы и создания HTML-контента, но общим знаменателем для всех фреймворков являются сервлеты. Сервлеты отвечают на HTTP-запросы и могут отправлять «статические файлы» (html, css, js, изображения и т. д.). Другие варианты включают полнофункциональные серверы веб-приложений, такие как Tomcat, JBoss, GlassFish, Java EE.

Для выполнения действий динамической формы большинство веб-разработчиков будут использовать AJAX (Javascript) и взаимодействовать с внешним интерфейсом через внутренний API.

Вы также обнаружите, что большинство веб-сайтов не используют Java для размещения HTML / CSS / JS, поскольку вы можете использовать любой серверный язык с любой интерфейсной библиотекой через действия RESTful, с которыми в Интернете взаимодействуют через Javascript ( не объекты Java Scanner)

Вам понадобится javascript в качестве связующего моста между вашим веб-сайтом переднего плана и серверной частью java.

Javascript - это язык обработки данных в Интернете, и он будет изначально работать в браузере клиентов. Вы можете использовать его функцию ajax, чтобы принимать вводимые пользователем данные и загружать значение на свой сервер.

Однако, поскольку вы упомянули, что новичок в программировании, я мог бы предложить изучить более «стандартный» серверный язык, чем java. Не поймите меня неправильно, он обычно используется, но для начинающих языков, таких как php и python, гораздо больше "встроенных" интерфейсов для облегчения вашей жизни.

Спасибо за информацию! У вас есть предложения, как преобразовать этот код в PHP? Я рассматриваю возможность использования PHP, потому что у меня есть локальный хост, но я не знаю эквивалента PHP для сканера hasNext (), nextLine (), lastIndexOf и parseDouble. Что это за код на PHP? Или это невозможно?

A. Mis 05.06.2018 06:45

@ A.Mis Думаю, переход на php был бы отличным выбором! Что касается преобразования вашего java в php, было бы лучше, если бы вы задали это как новый вопрос. Это своего рода жесткий аудит такого длинного кода здесь, в разделе комментариев.

YAHsaves 05.06.2018 07:13

Как сказал крикет, вы можете использовать веб-фреймворк на основе Java, я предлагаю Spring. Это обеспечит все необходимые вам функции, такие как сохранение, индексирование, поиск, запись маршрутов и т. д. Для вашего приложения. В зависимости от того, насколько вы новичок, вы, вероятно, захотите сделать базовый Приложение CRUD, чтобы познакомиться с Spring.

Вы также хотите думать о своем приложении с архитектурной точки зрения. Вы хотите создать единое монолитное приложение, которое обрабатывает всю вашу бизнес-логику, сервисы и интерфейс, или вы хотите сделать его более модульным с помощью микросервисов? (Второй вариант, наверное, лучше). Для этого вам нужно написать API, который обрабатывает все данные вашего приложения (используя Spring), а затем создать небольшое приложение, которое получает эту информацию и представляет ее.

Надеюсь, это помогло :)

Другие вопросы по теме