JSP i Servletów raczej nie warto. Samego Hibernate może lepiej wymienić na JPA? GWT/Struts/Vaadin to kwestia gustu, szczególnie że Spring chcesz mieć wcześniej a tam masz Spring MVC.
JEE to jest pewien standard opisujacy stos technologiczny obejmujący m.in. JMS (message oriented middleware), JPA wspomniane wcześniej, EJB (serwisy realizujące zwykle logikę biznesową), WebServices (JAX-WS, JAX-RS), JSF (framework do frontendu).
Znajomość takiego stosu oznacza... znajomość tych frameworków, a raczej jakichś ich implementacji. Bo JEE opisuje tylko co taki framework czy komponent ma robić, a ich implementacji jest sporo.
Do JMS jest np. ActiveMQ i MQSeries. Dla JPA masz np. Hibernate, EclipseLink i iBatis. Dla EJB masz kontenery EJB w różnych serwerach aplikacyjnych - GlassFish, JBoss AS, WebLogic, WebSphere.
WebServices masz np. Axis i CXF. JSF masz Richfaces, Icefaces i Primefaces.
Do JEE niby zalicza się też JDBC i RMI ale raczej nikt ich w ten sposób nie traktuje ;]