Patterns
Since you said a โserver-sideโ GUI, are you probably thinking more about the lines of the template engine for creating HTML? This is not very reassuring, but it can be MVC, for example, if you forward your Controller classes.
But PLEASE keep in mind that it would be a very FREE idea to try to generate XML or JSON data for consumption by RESTful (ajax) clients from any of them. Just say no to JSON from the template engine!
JSP is currently the standard for Java EE at the moment or the most widely used. All you need is a compatible server like Tomcat / Jetty.
http://www.oracle.com/technetwork/java/javaee/jsp/index.html
Thymeleaf It looks much cleaner than the JSP, and has the added benefit of not allowing all the traps that can happen to the JSP (and there are many).
http:
JavaScript:
When you say that you are creating a RESTful backend, most people will conclude (and rightfully) that you are trying to develop a MVVM JavaScript client / GUI.
Kendo UI has a full set of GUI widgets and an MVVM framework specifically designed to work with the RESTful backend. But this is a paid API.
http://www.telerik.com/kendo-ui
YUI3 (Yahoo user interface) also has many widgets, and I have seen many tasks requiring this. The advantage is to be free / OSS. The old version is out of date.
https://github.com/yui/yui3/wiki
knockout.js was my favorite for MVVM engines that I really had experience with. And it's easy, in my opinion, to find out.
http://knockoutjs.com/
Angular.js is also free / oss and works well with other GUI APIs.
https:
Pytry source share