Java EE é uma salada bem complexa de conceitos, que eventualmente, depois de alguma insistência, fazem sentido. Durante o desenvolvimento, você lida com os vários frameworks ao mesmo tempo, e essa separação mental dos conceitos é automática. Isso vem com a prática e estudo mesmo.
Eu te diria para começar pelo basicão: Servlet e JSP. Entender DE VERDADE como isso funciona. Como funciona uma aplicação WEB, como os dados são transferidos do servlet para a página, como o servidor mapeia uma requisição http para um método num servlet, como ele escolhe o servlet que vai lidar com a requisição, a questão de sessões, um pouco sobre a questão de threads (qual thread invoca o método no servlet?), como o container de aplicação lida com o ciclo de vida dos teus objetos que ele instancia, coisas assim.
Depois, uma leve aprofundada em JDBC. Como funciona a conexão, como reutilizar conexões, a questão de transações, etc.
Se você dominar isso, o resto é barbada. JSF, JPA, Managed Beans, JMS, etc. Tudo isso é apenas uma camada de abstração acima desse básico, que faz todo o sentido depois que você domina o fundamento.
Não adianta querer entender o final sem entender o começo. Eu fiz assim e me arrependo, perdi bastante tempo e tive que estudar tudo de novo.