Most of today's web applications are written in JavaScript. Java is relegated to the backend and has the important role of dealing with data and business rules. However, much of the GUI stuff is now happening on the client side.
There is a good reason for that in terms of responsiveness and user experience, but those applications add extra complexity.
Developers now have to be fluent in both Java and JavaScript and the number of frameworks can be a little overwhelming at first.
If you want to dig deeper into JavaScript, I would highly recommend Dave Syer's tutorial with Spring and AngularJS, which is available at https://spring.io/guides/tutorials/spring-security-and-angular-js.
Choosing a JavaScript MVC framework can be a little difficult too. AngularJS has had the favor of the Java community for years but people seem to be moving away from it. For more information, visit https://gist.github.com/tdd/5ba48ba5a2a179f2d0fa.
Other alternatives include the following...