Добрый день! Задался вопросом какими знаниями нужно обладать для создания web-сервисов на java? Полез в гугл и зашел в глухой лес, подскажите какую то минимальную последовательность!=)
Недавно вышла статья на JavaRush, еще есть бесплатные курсы на Stepik (1 часть / 2 часть), там нужно знать хотя-бы что такое ООП (если идти по программе JavaRush)
1. Обработчик веб-запросов: все java-web приложения работают на сервлетах. Им нужно уделить немного времени, чтобы понимать как всё на самом деле устроено. Однако, на голых сервлетах никто не пишет, это слишком неэффективно. Тут в дело вступает Spring. Спринг - это наше всё, на нём написано процентов 70 энтерпрайз-приложений. Он очень обьёмный, для начала главное разобраться со Spring Core и Spring MVC. Потом можно немного затронуть Security и AOP. Spring boot лучше сразу не трогать, он крутой для быстрой конфигурации, но никакого понимания, как все это работает, не даёт. Просто магия :)
2. Контейнер сервлетов, то есть сам веб-сервер(обычно Tomcat/Jetty). Про него много знать не обязательно, главное разобраться как заливать туда варники и работать с логами/дебажить.
3. Работа с БД. Тут нужно немного разобраться в самом языке запросов SQL, а затем поковырять JDBC и какой-то Хибернейт. Сразу сильно в дебри лезть не стоит, в хибернейте можно голову сломать, но понимать как это вообще устроено - обязательно.
4. Сборщик проекта. Самый популярный - Maven, самый перспективный - Gradle. Чего-то одного будет достаточно.
5. Ну, и если самому хочется что-то написать, а навыков в джаваскрипте нет, то придётся разобраться как минимум с чем-то из JSP/Thymeleaf/Mustache etc. Тут уже на вкус, значения не имеет, всё равно серьёзные приложения крутят фронт отдельно и с бэком общаются только через json/xml.
PS Ну и очень важно разобраться в HTTP протоколе, в запросах и ответах (особенно в асинхронных), статусах, заголовках, и уметь мапить java-обьекты в тот же json/xml и обратно (тут в голову приходит разве что Jackson Mapper).
проходил его когда-то (тот что на степике). рекомендовать не стал бы))
простые вещи очень разжевываются, сложные - наоборот как-то так подаются, будто слушатель курса уже должен быть в курсе как оно работает.
может они сейчас переделали, конечно, но я слушал на скорости 2х, периодически останавливая чтобы въехать во что-то интересное
Ответить себе на вопросы: что такое веб-сервисы? Какие они бывают? На базе чего они работают? Что такое сервлеты и сервлет контейнеры? "Java [тип веб сервиса] example". Плюс у Spring можно найти примеры простые. Можно прочитать умные книги вроде Spring REST или Restful java with jax-rs.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ