Популярность JavaEE в современных проектах стремится к нулю - большая часть существующих фреймворков отказываются от сервлетов и "ынтерпрайсностей" в пользу ванильной Java с Netty, и тому есть довольно много причин. Ну, хотя бы намного более высокая производительность, по моему личному опыту где-то 1:30. Из исключений припоминаются Grails, Ninja framework. Есть ещё динозавры типа Struts и Wicket - их часто используют "по привычке" вместе со Spring'ом, но практической выгоды от подобного не много. В общем у всех есть свои причины "ынтерпрайстности", но по большей части это связано с "бюрократией" контор-разработчиков.
Стоит познакомится с Vert.x и ratpack.
Play2 - тоже хорошо, но наблюдается значительный overhead из-за использования Akka + Scala.
Стоит разобраться с GraphQL и Relay + React. Ну и поиграться чуток с Meteor + React.
На определённом этапе нужно реализовывать свой собственный транспорт для EventSource, я как раз собираюсь этим заняться в свободное время.