No snad do toho můžu kecat, když se už nějaký ten pátek živím developením ve Springu. JEE (J2EE je zastaralá zkratka, už neplatí) moc neovládám.
Co se Springu týče, doporučuji referenční manuál rovnou od tvůrců. Ostatní knihy jsou neaktuální a nebojím se říct špatné.
Nejvíce se vyjádřím k bodu 3:
* musíš fakt umět Javu (vše, co probírá kniha Java Effective)
* musíš ovládat multithreading (kniha Java concurrency in Practice)
* musíš znát nějaký GUI framework (jak pro WEB, tak pro desktop)... tady doporučuji Vaadin pro Web, stařičký Swing pro desktop (pokud jsi geek a máš rád nové věci studuj JavuFX)
* je velká výhoda umět HTML5, CSS3 a jQuery
* webové služby a SOA architektura v Javě
* je výhoda mít nějaký Oracle certifikát (vím, že to nedokazuje znalosti, ale firmy na to dost koukají)
To je zatím vše. Když tak se ptej konkrétně...