(Actualizado en marzo de 2020)
En primer lugar, "Java EE" ha sido renombrado desde septiembre de 2019 a " Jakarta EE ", comenzando con la versión 8. Históricamente, también existía el término "J2EE" que abarcaba las versiones 1.2 hasta 1.4. El "Java EE" cubrió las versiones 5 hasta 8. Ver también Java Platform, Enterprise Edition, History en Wikipedia .
¿Qué necesito aprender exactamente?
Supongo que ya está familiarizado con las tecnologías del lado del cliente como HTML , CSS y JS , por lo que no voy a entrar en detalles con eso. También supongo que ya estás familiarizado con Java básico. Siga los Tutoriales de Java de Oracle y, si es posible, obtenga un libro o curso de OCP también.
Luego puede comenzar con JSP / Servlet para aprender los conceptos básicos del desarrollo web Java. Se pueden encontrar buenos tutoriales en el tutorial de Oracle EE 5 de Java, parte II, capítulos 3 - 8 y en Coreservlets.com ( Principiante-Intermedio y Avanzado, también JDBC ). Tenga en cuenta que desde Java EE 6, JSP se elimina del tutorial de Java EE a favor de JSF y que JSP básicamente no ha cambiado desde entonces. Es por eso que puedes usar con seguridad el tutorial bastante antiguo de Java EE 5 para esto. Lo más importante con respecto a JSP es el hecho de que escribir código Java simple en archivos JSP utilizando <%
scriptlets %>
se desaconseja oficialmente desde 2003. Consulte también ¿Cómo evitar el código Java en archivos JSP? Por lo tanto, se deben omitir los tutoriales que todavía cubren scriptlets, ya que definitivamente lo llevarán a una espiral descendente de aprendizaje de malas prácticas.
Aquí en Stack Overflow, también puede encontrar buenas páginas wiki sobre JSP , Servlets , JSTL y EL donde puede aprender lo esencial y encontrar enlaces más útiles.
Tomcat parece ser un buen servidor web para Java.
Es. Sin embargo, tiene capacidades limitadas. Básicamente es un contenedor de servlet básico, que implementa solo las partes JSP / Servlet de la enorme API Java EE. Si alguna vez quiere ir a EJB o JPA, le gustaría elegir otro, por ejemplo, WildFly , TomEE , Payara , Liberty , WebLogic , etc. De lo contrario, debe usar Spring en lugar de Java EE. Es decir, no es posible instalar EJB en un contenedor de servlet barebones sin modificar el motor central, en el caso de que Tomcat básicamente esté reinventando TomEE. Consulte también ¿Qué es exactamente Java EE? , ¿Cómo instalar y configurar correctamente las bibliotecas JSF a través de Maven? y ¿Cómo instalar y usar CDI en Tomcat?
Sé que hay Hibernate para un ORM.
Anteriormente, durante la era J2EE, cuando JPA no existía y EJB2 era terrible, Hibernate era un marco independiente y a menudo se usaba en combinación con Spring para suplantar a EJB. Desde la introducción de JPA en Java EE 5 (2006), Hibernate se ha convertido en una implementación de JPA. Puedes aprender JPA en el tutorial de Yakarta EE, parte VIII . Además, EJB3 mejoró mucho según las lecciones aprendidas de Spring. Consulte también ¿ Cuándo es necesario o conveniente usar Spring o EJB3 o todos juntos?
¿Java tiene MVC? ¿Qué hay de JSP? ¿Pueden MVC y JSP estar juntos? JavaBeans?
Puede , pero eso es una gran reinvención de la rueda cuando se trata de vincular el modelo con la vista (conversión, validación, cambio de oyentes, etc.). El marco MVC de Java EE se llama JSF . Antes de Java EE 6, solía ejecutarse en JSP, que es una tecnología de visualización bastante heredada. JSP ha sido reemplazado por Facelets . Puede aprender JSF en el tutorial de Jakarta EE, parte III, capítulos 7-17 . Por cierto, también puede usar JSF en Tomcat, solo tiene que instalarlo por separado. Las instrucciones de instalación se pueden encontrar en la página de inicio de Mojarra. WildFly, TomEE, Payara, Liberty, WebLogic, etc., al ser una implementación completa de Java EE ya proporcionan JSF (y CDI, BV, JSONP, JAX-RS, EJB, JPA, etc.) listos para usar, por lo que no necesita instálalo por separado. Consulte también ¿Cómo instalar y configurar correctamente las bibliotecas JSF a través de Maven?
¿Quizás un libro que cubre todo esto?
Hay varios libros Recomendaría comenzar con un libro centrado en Jakarta EE en general , un libro más centrado en JSF y un libro más centrado en JPA . Asegúrese de elegir el libro más reciente que cubra el tema. Primero investigue la versión más reciente disponible y luego asegúrese de que el libro elegido cubra eso. Por lo tanto, definitivamente no elija un libro antiguo para Java EE 5 o JSF 1.0 más o menos, mientras que actualmente ya está disponible Jakarta EE 8 y JSF 2.3.
Por último, pero no menos importante, ignore los sitios de raspado de fragmentos de código mantenidos por aficionados con un enfoque principal en los ingresos publicitarios en lugar de la enseñanza, como roseindia, tutorialspoint, javabeat, journaldev, javatpoint, codejava, etc. Son fácilmente reconocibles al alterar los enlaces publicitarios / banners y fragmentos de código JSP que contienen scriptlets .
Ver también: