Primeiramente bem vindo ao mundo java. Java se difere de outras linguagens justamente por ser multi plataforma, além de sempre estar evoluindo tanto em especificações novas (talvez muita burocracia neste quesito), mas também em adaptações, exemplo, Java SE (Standart Edition) - Desenvolvimento sob plataforma desktop, (J2EE ou JavaEE) - Desenvolvimento Web, Java ME(Mobile) desenvolvimento para mobile. No entando, java é uma linguagem cheia de detalhes, muito bem especificada e inicialmente incompreendida, é totalmente voltada a orientação a objetos, alguma de suas sintaxes foram extraídas de outras linguagens mais difundidas no mercado, como C, C++, exemplo, os modificadores de acesso, public, o modo em como se declara o método MAIN, enfim … É uma linguagem rica. Agora respondendo sua pergunta, para desenvolvimento Web, aconselho a seguir uma lógica de aprendizado, como estudar alguns frameworks que são essenciais no mercado de trabalho, como JSF (camada de controle, com uma simples anotação, você transforma uma classe concreta em um gerenciador de beans - ManagedBean), JPA (Para mapeamento de dados em banco de dados, bastante simples seu uso também) e Spring/EJB/CDI. De todos os frameworks citados acima, apenas o Spring não é uma especificação nativa do java, porém, ele é tão rico que pode substituir o uso das especificações EJB e/ou CDI. Na verdade eu utilizo as 3 opções, porquê algumas coisas que o spring não consegue realizar, o EJB faz, por exemplo, como acesso remoto de outro servidor de aplicação. Enfim, a caelum e k19 possuem apostilas abertas sobre esses temas, vale muito apena conferir e são ótimos materiais, garanto que é tão boa quanto um livro, porém, de graça.