Контроллер Spring MVC обычно "отвечает" :-) за обработку определенного запроса , что не обязательно означает, что указанный запрос приводит к монолитной странице, представляемой пользователю.
Поскольку вы говорите о функциях, похожих на Google Reader, возможно, вы будете использовать AJAX для загрузки / навигации между различными компонентами на своей странице? В этом случае вы можете легко сопоставить 3 компонента с отдельными контроллерами (через отдельные URI), а также иметь один «основной» контроллер для первоначальной загрузки всей страницы.
Если это не так, и ваша страница статична, ваш контроллер может выступать в качестве своего рода «маршрутизатора», сначала создавая экземпляры ваших компонентов, а затем направляя команды / запросы к соответствующему компоненту по мере необходимости. Каждый компонент будет обновлять свою собственную часть модели, после чего ваш «основной» контроллер будет возвращать представление, которое будет отображено.
Можете ли вы использовать портлеты для этого? Конечно. Но если мы говорим об одной странице, это может быть немного излишним.