Requisitos para aprender java para web

Olá, a pergunta pode parecer meio boba, mas conto com a compreensão de vocês.
Farei um projeto de engenharia de software e vou utilizar java, pois só conheço java e c, e c é uma linguagem um tanto mais complicada. Entretanto gostaria de tentar usar java para web, para tentar agregar mais valor para o projeto.
Tenho conhecimentos em Java, e conheço um pouco de html e css, suficiente para fazer templates rústicos, com um pouco de dificuldade ainda. Gostaria de saber se isso seria o bastante para se virar com java para web, ou se tem que conhecer alguma oura linguagem como php, python e etc.
Se existe alguma ferramenta de web que eu possa utilizar para fazer meu sistema apenas sabendo java e html basico, por favor, comentem!
Agradeço desde já!

vamos la

existem duas abordagem para realmente entender e desenvolver apps web: top-down e bottom-up

top-down vc aprende um framework como Rails, React, Angular, Sinatra, VRaptor, Django, etc e a cada experiencia vc parte de exemplos e vai estudando coisas mais avançadas dentro dessa solução. nisso vc vai aprender varias linguagens e vai entender que todas tem if/else/while/for/classes/metodos/bibliotecas que ajudam vc a fazer x.

bottom-up vc estuda como o protocolo HTTP funciona. é um protocolo STATELESS, portanto como existe sessão? como alguem fica logado? ai vc descobre os Cookies, os headers, descobre como um apache ou nginx funciona, os diferentes modulos, soluções de cache, balancedor de carga, clusters de bancos de dados ou nosql e por ai vai. vc vai dos fundamentos ao programa.

aplicações web são distribuidas entre o browser e o servidor. pode ser tanto 100% js ou 100% backend.

então estude algo como esta apostila:

e veja o que as pessoas estao falando. seja curioso e fique experimentando coisas novas.

vc pode se especializar em java, em um framework java, em um tipo de aplicação, por exemplo.

Com java e html básico você se vira. Css é, por assim dizer, um incremento (muito válido). Javascript será bom aprender também.
Sugiro buscar um tutorial mais próximo do que você realmente deseja (existe na internet uma infinidade de diferentes exemplos).
Eu sugiro que você comece pelo básico do java (sim, servlets e jsp), mas não perca tanto tempo nisso. Entenda como funciona o ciclo de vida e siga adiante.
Ainda como sugestão, se eu fosse começar algo do zero agora, estudaria webservices rest e angular js (que é o que eu estou fazendo atualmente). Nesse aspecto, o Spring Boot é bem tranquilo e facilita muito a vida.
Tenta dar uma olhada nisso.

Opa!

Eu desenvolvo em Java e utilizei o framework JSF em meus projetos até agora.

Comecei a estudar Angular 2 para substituir o front-end das minhas futuras aplicações.

Se optar realmente por Java, sugiro que estude Spring Boot, um projeto Spring muito útil que evita bastante configuração e código de infra (boilerplate code). Além de ser fácil de aprender, a geração de serviços Restful é muito simples e dá pra brincar bem com o Angular.

No site do Spring tem vários tutoriais, inclusive. No youtube tem bastante material também.

Os cursos da Alura são online e ótimos. Dá pra aprender rápido, porém é necessário seguir os conselhos do colega @peczenyj, já que é um conhecimento muito vasto.

Abraço.