Хочется узнать мнение профи по поводу минусов такого решения.
Задача которая стояла - жестко отделить верстку от кода на Java. Использование классических java фрэймверков типа jsp и jsf исключается. Подразумевается что верстка богата JavaScript и очень сильно зависит от него. Много JQuery плагинов и всяких Ajax штучек с асинхронной загрузкой.
Можно было конечно применить связку что-то вроде Angular+RESTful но нужно было хранить состояние, т.е сессия. Посему было решено писать на сервлетах.
Мысль в следующем. Есть глобальный сервлет Controller - сам по себе нигде не используется. В нем только определены методы получения post и get запросов и отдача результатов. У него есть куча детей, которые аннотациями собственно и закрепляются за нужными урлами.
Например вызывают урл /app/users/profile/1 На урл /app/users замаплен контроллер Users в котором есть метод prfile. Родительский контроллер проверяет наличие этого метода в Users и вызывает его, передав в качестве параметра id юзера = 1. В Users вся логика обработки конкретной страницы. Он получает его шаблон, неважно ткуда (БД, файл и т.п), в простейшем случае представляющий собой html с "чанками" которые подменяет на реальные данные (возможно использовать люой существующий шаблонизвтор) и отдает его через метод родителя обратно в браузер.
Также есть, например контроллер Save замапленный на /app/save и у которого куча методов для обработки данных всех форм. Родительский Controller в зависимости от урла вызывает нужный метод.
Для ajax вызовов свой дочерний контроллер который отдает даынне в json например формате.
Т.е чем-то смахивающая на REST реализация + мальца от MVC. Я в кратце описал оcнову - главное что у нас есть родительский сервлет который дергает методы детей замапленных на конкретные урлы.
Хочется обсудить целесообразность такого подхода, его плюсы и минусы. Велосипед он и есть велосипед, он работает, но... вот это но хочется услышать. В каких случаях такое решение "ляжет" например, или какие есть подводные камни.
Изначально идея взята была отсюда
habrahabr.ru/post/120715 но прошу учесть что у меня все-таки не rest а отдача html шаблонов