JSF соответствует архитектуре MVC - плохо, но делает.
Как вы думаете, зачем вам нужен Spring для веб-MVC?Я бы сказал, что вы должны использовать JSF или Spring Web MVC, но не оба одновременно.(Я бы также рекомендовал Spring поверх JSF.)
Spring имеет инфраструктуру безопасности, но это гораздо больше.
Вопрос, который нужно задать: что для вас значит «лучше»?Какие проблемы возникают у вас с безопасностью Spring?
Если вы используете это, как рекомендует соулчек ниже, то я бы сказал, что вам следует подключить JSF и иметь рядом с ним DispatcherServlet
для работы с файлом.загрузить URL.Аннотируйте контроллеры только для URL, отличных от JSF, и это должно работать.