(Aggiornato a marzo 2020)
Prima di tutto, "Java EE" da settembre 2019 è stato rinominato " Jakarta EE ", a partire dalla versione 8. Storicamente, c'era anche il termine "J2EE" che copriva le versioni da 1.2 a 1.4. "Java EE" copriva le versioni dalla 5 alla 8. Vedi anche Java Platform, Enterprise Edition, History su Wikipedia .
Cosa devo imparare esattamente?
Presumo che tu abbia già familiarità con le tecnologie lato client come HTML , CSS e JS , quindi non entrerò nei dettagli. Presumo anche che tu abbia già familiarità con Java di base. Segui i tutorial di Oracle su Java e, se possibile, procurati anche un libro o un corso OCP .
Quindi puoi iniziare con JSP / Servlet per apprendere i concetti di base dello sviluppo web Java. Buoni tutorial possono essere trovati nel tutorial Java EE 5 parte II capitoli 3 - 8 di Oracle e su Coreservlets.com ( Beginner-Intermediate e Advanced, anche JDBC ). Notare che a partire da Java EE 6, JSP è stato rimosso dal tutorial Java EE a favore di JSF e che JSP praticamente non è cambiato da allora. Ecco perché potresti usare tranquillamente il tutorial abbastanza vecchio Java EE 5 per questo. La cosa più importante riguardo a JSP è il fatto che la scrittura di codice Java semplice nei file JSP utilizzando <%
scriptlet %>
è ufficialmente scoraggiata dal 2003. Vedi anche Come evitare il codice Java nei file JSP? Quindi tutti i tutorial che trattano ancora gli scriptlet dovrebbero essere saltati in quanto ti porteranno sicuramente in una spirale discendente di apprendimento delle cattive pratiche.
Qui su Stack Overflow, puoi anche trovare belle pagine wiki su JSP , Servlet , JSTL ed EL dove puoi imparare gli elementi essenziali e trovare collegamenti più utili.
Tomcat sembra essere un buon server web per Java.
È. Tuttavia è limitato nelle capacità. È fondamentalmente un contenitore servlet barebone, che implementa solo le parti JSP / Servlet dell'enorme API Java EE. Se vuoi usare EJB o JPA, allora ne scegli un altro, ad esempio WildFly , TomEE , Payara , Liberty , WebLogic , ecc. Altrimenti devi usare Spring invece di Java EE. Non è cioè possibile installare EJB in un servlet container barebone senza modificare il motore principale, nel caso di Tomcat dovreste fondamentalmente reinventare TomEE. Vedi anche Cos'è esattamente Java EE? , Come installare e configurare correttamente le librerie JSF tramite Maven? e come installare e utilizzare CDI su Tomcat?
So che c'è Hibernate per un ORM.
In precedenza, durante l'era J2EE, quando JPA non esisteva ed EJB2 era terribile, Hibernate era un framework autonomo e spesso usato in combinazione con Spring per soppiantare EJB. Dall'introduzione di JPA in Java EE 5 (2006), Hibernate è diventata un'implementazione JPA. Puoi imparare JPA nella parte VIII del tutorial Jakarta EE . Inoltre, EJB3 è stato molto migliorato sulla base delle lezioni apprese da Spring. Vedi anche Quando è necessario o conveniente usare Spring o EJB3 o tutti insieme?
Java ha MVC? Che mi dici di JSP? Possono MVC e JSP stare insieme? JavaBeans?
Puoi , ma questa è una grande reinvenzione della ruota quando si tratta di legare il modello alla vista (conversione, convalida, modifica degli ascoltatori, ecc.). Il framework MVC di Java EE si chiama JSF . Prima di Java EE 6 veniva eseguito su JSP, che è una tecnologia di visualizzazione piuttosto legacy. JSP è stato sostituito da Facelets . Puoi imparare JSF al tutorial Jakarta EE parte III capitoli 7-17 . A proposito, puoi anche usare JSF su Tomcat, devi solo installarlo separatamente. Le istruzioni di installazione possono essere trovate sulla homepage di Mojarra. WildFly, TomEE, Payara, Liberty, WebLogic, ecc. Essendo un'implementazione completa di Java EE, forniscono già JSF (e CDI, BV, JSONP, JAX-RS, EJB, JPA, ecc.), Quindi non è necessario installalo separatamente. Vedi anche Come installare e configurare correttamente le librerie JSF tramite Maven?
Forse un libro che copre tutti questi?
Ci sono diversi libri. Consiglierei di iniziare con un libro incentrato su Jakarta EE in generale , un libro più incentrato su JSF e un libro più focalizzato su JPA . Assicurati di scegliere il libro più recente che tratta l'argomento. Prima esamina la versione più recente disponibile e poi assicurati che il libro scelto la copra. Quindi non scegliere assolutamente un vecchio libro per Java EE 5 o JSF 1.0 o giù di lì mentre sono già disponibili Jakarta EE 8 e JSF 2.3.
Ultimo ma non meno importante, si prega di ignorare i siti di scraping di frammenti di codice gestiti da dilettanti che si concentrano principalmente sugli introiti pubblicitari anziché sull'insegnamento, come roseindia, tutorialspoint, javabeat, journaldev, javatpoint, codejava, ecc. Sono facilmente riconoscibili da collegamenti pubblicitari disturbanti / banner e frammenti di codice JSP contenenti scriptlet .
Guarda anche: