Для Blossom есть образец , который является полной настройкой веб-приложения.Взгляните на web.xml и applicationContext.xml там.
Образец основан на проекте magnolia-empty-webapp , который предназначен в качестве отправной точки, на которой вы можете построить.
В этом примере вы увидите, что обычного прослушивателя Spring нет в web.xml и что там нет DispatcherServlets.Вместо этого задача запуска пружины выполняется модулем образцов.Модуль также создает BlossomDispatcherServlet, который используется для визуализации шаблонов и абзацев в процессе визуализации.Причина этого в том, что при запуске Magnolia он перейдет в режим установки / обновления и покажет интерфейс установки.На этом этапе вы не хотите, чтобы Spring инициализировался, потому что если у вас есть bean-компоненты, основанные на Magnolia, они не запустятся, когда Magnolia не готова.Поэтому вместо этого Spring запускается модулем.
Однако, если ваши bean-компоненты не будут зависеть от Magnolia, вы можете безопасно добавить слушатель Springs в web.xml и просто запустить BlossomDispatcherServlets из модуля.
Другая вещь, которую, вероятно, полезно знать, это то, что Magnolia выполняет рендеринг с использованием фильтра, и этот фильтр будет обрабатывать все входящие запросы, если они не были исключены.Поэтому, если вы добавите сервлеты в web.xml, вы захотите исключить их URL-шаблоны из фильтра Магнолии.
Еще один вариант, который намного проще, - это добавить ваш сервлет в XML-файл дескриптора модуля.Тогда Магнолия поднимет их и вызовет из фильтра.Документация для дескриптора модуля: здесь .
Итак, в заключение я бы рекомендовал запустить Spring с использованием модуля и добавить сервлеты в дескриптор модуля xml.Конфигурирование вещей в web.xml также является жизнеспособным вариантом, но вы должны принять во внимание, как он взаимодействует с фазой установки / обновления и маршрутизацией запросов.