(Atualizado em março de 2020)
Primeiro, "Java EE" foi renomeado para "setembro de 2019" para " Jakarta EE ", começando na versão 8. Historicamente, havia também o termo "J2EE" que cobria as versões 1.2 a 1.4. O "Java EE" abrangeu as versões 5 a 8. Veja também Java Platform, Enterprise Edition, History na Wikipedia .
O que exatamente eu preciso aprender?
Suponho que você já esteja familiarizado com tecnologias do lado do cliente, como HTML , CSS e JS , por isso não vou entrar em detalhes com isso. Suponho também que você já esteja familiarizado com o Java básico. Siga os tutoriais Java da Oracle e, se possível, obtenha também um livro ou curso sobre OCP .
Em seguida, você pode começar com JSP / Servlet para aprender os conceitos básicos de desenvolvimento da Web Java. Bons tutoriais podem ser encontrados nos capítulos 3 a 8 da parte II do tutorial Java EE 5 da Oracle e em Coreservlets.com ( Iniciante-Intermediário e Avançado, também JDBC ). Observe que desde o Java EE 6, o JSP é removido do tutorial do Java EE em favor do JSF e que o JSP basicamente não mudou desde então. É por isso que você pode usar com segurança o tutorial bastante antigo do Java EE 5 para isso. O mais importante em relação ao JSP é o fato de que escrever código Java simples em arquivos JSP usando <%
scriptlets %>
é oficialmente desencorajado desde 2003. Consulte também Como evitar o código Java em arquivos JSP? Portanto, todos os tutoriais que ainda cobrem scriptlets devem ser ignorados, pois definitivamente o levarão a uma espiral descendente de aprendizado de práticas ruins.
Aqui no Stack Overflow, você também pode encontrar boas páginas wiki sobre JSP , Servlets , JSTL e EL, onde você pode aprender o essencial e encontrar links mais úteis.
O Tomcat parece ser um bom servidor web para Java.
Isto é. No entanto, é limitado em recursos. É basicamente um contêiner de servlet barebones, implementando apenas as partes JSP / Servlet da enorme API Java EE. Se você sempre quer ir EJB ou JPA, então você gostaria de escolher um outro, por exemplo, JBoss Application Server , Tomee , Payara , Liberdade , WebLogic , etc. Caso contrário, você tem que usar Primavera, em vez de Java EE. Não é possível instalar o EJB em um contêiner de servlet barebones sem modificar o mecanismo principal; no caso do Tomcat, basicamente, você estaria reinventando o TomEE. Consulte também O que exatamente é o Java EE? , Como instalar e configurar corretamente as bibliotecas JSF via Maven? e Como instalar e usar o CDI no Tomcat?
Eu sei que existe o Hibernate para um ORM.
Anteriormente, durante a era J2EE, quando o JPA não existia e o EJB2 era terrível, o Hibernate era uma estrutura autônoma e frequentemente usada em combinação com o Spring para suplantar o EJB. Desde a introdução do JPA no Java EE 5 (2006), o Hibernate se tornou uma implementação do JPA. Você pode aprender JPA no Jakarta EE tutorial parte VIII . Além disso, o EJB3 foi muito aprimorado com base nas lições aprendidas na primavera. Consulte também Quando é necessário ou conveniente usar o Spring ou o EJB3 ou todos eles juntos?
O Java tem MVC? E o JSP? MVC e JSP podem estar juntos? JavaBeans?
Você pode , mas isso é muita reinvenção da roda quando se trata de amarrar o modelo com a visualização (conversão, validação, alterar ouvintes, etc.). A estrutura MVC do Java EE é chamada JSF . Antes do Java EE 6, ele era executado em JSP, que é uma tecnologia de exibição bastante legada. JSP foi substituído por Facelets . Você pode aprender JSF no tutorial de Jacarta EE, parte III, capítulos 7 a 17 . A propósito, você também pode usar o JSF no Tomcat, basta instalá-lo separadamente. As instruções de instalação podem ser encontradas na página inicial de Mojarra. WildFly, TomEE, Payara, Liberty, WebLogic, etc, como sendo uma implementação Java EE completa, já fornecem JSF (e CDI, BV, JSONP, JAX-RS, EJB, JPA, etc) prontos para uso, para que você não precise instale-o separadamente. Consulte também Como instalar e configurar corretamente as bibliotecas JSF via Maven?
Talvez um livro que cubra tudo isso?
Existem vários livros. Eu recomendaria começar com um livro focado no Jakarta EE em geral , um livro mais focado no JSF e um livro mais focado no JPA . Certifique-se de escolher o livro mais recente sobre o assunto. Primeiro, investigue a versão disponível mais recente e verifique se o livro escolhido cobre isso. Portanto, definitivamente, não escolha um livro antigo para Java EE 5 ou JSF 1.0 ou mais, enquanto já houver o Jakarta EE 8 e o JSF 2.3 disponíveis.
Por último, mas não menos importante, ignore os sites de raspagem de trechos de código mantidos por amadores com foco principal na receita publicitária, em vez de no ensino, como roseindia, tutorialspoint, javabeat, journaldev, javatpoint, codejava etc. Eles são facilmente reconhecíveis por links de publicidade perturbadores / banners e snippets de código JSP que contêm scriptlets .
Veja também: