Dát na takovouhle otázku odpověď Java+Spring je hrozně nedostatečné a vzhledem k tvým omezeným znalostem asi i nesmyslné.
Začal bych spíš troškou potřebné teorie jak dnes webové stránky/aplikace fungují, co jednotlivé termíny znamenají - jaká si pak zvolíš konkrítní jazyk nebo framework je už druhořadá otázka.
- pokud nechceš mít na webové serveru uložené jen statické stránky, budeš za prvé potřebovat nějaký jazyk tam, bude v něm napsaná servervá část aplikace, příprava obsahy stránek odesílaných uživateli, komunikace s databází nebo jinými službami na síti... (sem patří zmiňovaná Java, PHP, c#, python, Node.js a spousta dalších, nad nimi pak různé frameworky a kompletní prostředí specializované na web - .Net, Spring, ...) Já aplikace píšu většinou v .Net c# a PHP, Javu nechám jiným.
- pokud nechceš mít u klienta zobrazené jen statické stránky, ale požaduješ i nějakou interativitu a funkčnost bez reloadu celé stránky potřebuješ i programový kód, který bude zpracovávat přímo browser. Začíná to reakcemi na uživatelské akce (kliknutí myší někam, zmáčknutí klávesy, vyplnění textboxu...), pokračuje přes automatické skripty aktivované uplynutím času, můžeš na pozadí ze serveru získávat data (=AJAX), můžeš skriptem kompletně překreslovat celou stránku u klienta (jako základ sem patří Javascript, používají se i další jazyky, které se před nasazením transpilují do javascriptu (mluví se i o přímé podpoře dalších jazyků přes Web Assembly), nad samotným Javascriptem se pro zjednodušení vývoje používá spousta hotových knihoven, nejčastěji asi obecná jQuery, různé UI webové komponenty, nebo i celé kompletní frameworky jako React, Angular, Vue a další). Pro začátek tvrdím, že vystačíš s Javascriptem a jQuery
Další důležitá věc je dnes znalost CSS - v zásadě předpis pro vizuální vzhled různých prvků na stránce na základě jejich vlastností (id, třídy, umístění ve struktuře stránky...). Na CSS najdeš určitě spoustu návodů a tutorialů. CSS vlastnosti jsou jsou snadno dynamicky měnitelné pomocí Javascriptu - máš možnost vzhled stránky ovlivňovat programově jako reakci na různé události (různé prvky měnit, posouvat, skrývat, plnit obsahem).
A s tímhle pro začátek možná vystačíš.