Since you're fairly experienced with Java I'd stick with that for the back-end. Since you're still learning JavaScript I would recommend doing most UI rendering on the server side, and using JavaScript to add interactivity (e.g. with JQuery). For that approach you could consider Sprint Boot and Play Framework on the server side.
The other alternative would be doing all UI rendering on the browser, via a single-page JavaScript application. A popular choice for that is the React framework. In this case you could use the Dropwizard framework on the server side (although Spring Boot and Play would also work).