Używam springa, więc ja zrobiłbym tak: poczytałbym co to spring, co to IoC, poduczył się jak ono działa na prostych przykładach, porobił jakieś klasy proste i powstrzykiwał, pocwiczył różne adnotacje tj. @Autowired, @Qualifier itp czyli podstawowe (poznasz je, teraz sie wydaja straszne spokojnie :P)
Potem jak sie spring spodoba do polecam Spring MVC, na początku dla mnie to była dzicz :o jakby nie poukłądane, potem okazało sie ze całkiem przyjemne, a w dodatku możesz podążać za trendem RESTful który teraz jest "propagowany" mam wrażenie. Jedyne co cie może zniesmaczyć to duża liczba konfiguracji, takze najwazniejsze co polecam podczas nauki javy dla aplikacji webowych to:
wszystko rób powoli, doczytuj co właśnie robisz, jeśli tego nie rozumiesz i nie rzucaj się na głeboką wodę
bo sie zle skonczy :D
O mechanizmach tj. IoC czy MVC to nawet na polskich, wielu stronach lub blogach przeczytasz, wiec wpisz w google i na pewno znajdziesz. Zawsze lepiej zaczac w ojczystym jezyku
strony ktore polece, to:
jaiswaltraining ktore polecił shalom i to samo ostrzezenie: uwaga na przedawnione technologie
coreservlets.com
mkyong.com
Tutaj troche o IoC na poczatek:
http://www.mkyong.com/tutorials/spring-tutorials/
(możesz sie nieco zrazić robiąc te przykłady, więc polecam znaleźć jakis artykuł w guglu w stylu "szybki wstęp do springa" zebys uniknal robienia 30 przykładów z ktorych nic nie rozumiesz)
edit
wiele osob mowi ze warto zaczac od "servletów i jsp" bo to kolebka javy webowej i warto wiedziec jak to działa. troche się z tym zgodze, ale nie jest to jakies mega ważne, mnie sie przydalo ze 2-3 razy znajomosc czegos tam. takze jakbys miał chwile to zerknij dla przezorności ;)
tu masz nawet całkiem prosto prześmigane podstawy: http://javastart.pl/category/jee/