Then the web came, and we have the MVCS+JS+REST mess. Explanation:
Model: The Javabean
View: The HTML
Controller: Whatever Java code that calls the service layers,
Service: The services in the lower layer,
JS: Since you have js with your HTML, then the JS also acts kind of like a controller for complex parts of the UI,
REST: Well that’s a second entry point to your service layer, to which the JS transmits Events (as in MOVE) that cannot be managed by a page reload. It’s a back channel unknown to the Controller.
So perhaps React has a point ;)