Веб-программирование, оно делится (на текущий момент) на две большие части:
- фронтэнд, то,что отображается в браузере, и здесь главенствует javascript, автоматическая сборка через nodejs, фреймворки react, angular, vusejs и сотня подобных.
- бекэнд, то что исполняется на серверной стороне. Может быть представлено в виде разных языков программирования в виде web-сервера, начиная от того же nodejs и заканчивая C++, в промежутке - php, java, python, ruby, go, lua, rust и десяток других.
Между ними есть взаимодействие, обычно по протоколу HTTP, но поверх него есть еще куча протоколов - REST, JSON, GRAPHQL, GRPM, MQTT, WebSocket, Comet...
На данный момент актуальны микросервисы на стороне backend. Фреймворки на javascript на стороне frontend...
Есть брать java, то это backend - взаимодействие с базами данных, бизнес-логика, и перемалывание больших объемов данных. Рекомендую начать с изучения springboot или javalin.
Взаимодействие сейчас модно делать через GraphQL.
Фронтэнд писать на react, angular, vuejs.
А можно попробовать уйти в функциональное программирование и делать все на одном языке, и бекэнд, и фронтэнд. Например посмотреть в сторону Clojure, но при этом хорошо бы знать java! А можно посмотреть и в сторону erlang, или haskel....