@gian82, ma che pischellacchere dici!
Evita di dire sciocchezze, a meno che tu non sia un GURU della materia!
Per J2EE NON ESISTE UN LIBRO.
E' una serie di specifiche
http://blog.arungupta.me/wp-content/uploads/2013/10/javaee7-pancake.png
https://docs.oracle.com/javaee/7/tutorial
per ogn'una delle quali esiste un libro della Oreilly, ad esempio.
Non puoi sperare di imparare TUTTO in un colpo solo: sono DECINE DI MIGLIAIA di pagine
Inoltre, quasi sicuramente userai Spring:
https://en.wikipedia.org/wiki/Spring_Framewor
https://spring.io
Ti consiglio di iniziare con:
JDBC
JPA
JSON
XML (che fa parte di Java2 standard)
Un'altro Application Server con cui avrai a che fare, potrebbe essere JBoss:
https://en.wikipedia.org/wiki/JBoss_Enterprise_Application_Platform
http://www.jboss.org
Per fare qualche prova spicciola potresti usare Tomcat (che pero' difficilmente trovi in produzione)
http://tomcat.apache.org
Questo per dire che la frase
sviluppare un'applicazione web che RISPETTI le specifiche Enterprise
non vuol dire nulla!
Tu USERAI una serie di tool/librerie che implementano ALCUNE delle specifiche J2EE.
Se vogliamo: LE DEVI RISPETTARE PER FORZA, altrimenti il tuo lavoro non puotrebbe essere utilizzato.
Infine, attento, implementare un sito web NON E' una passeggiata, anche se il sito e' semplice (molta parte statica e poca parte dinamica):
ci sono un SACCCO di rogne rognose da risolvere.
NON PENSARE che usando C#/ASP.NET i problemi si risolvano/riducano.
Avresti GLI STESSI PROBLEMI.
Anzi, piu' quelli legati al framework .NET visto che anche lui spesso e volentieri funziona secondo misteriose e magggiche logiche di cui, noi, poveri mortali, non abbiamo il diritto di conoscere