Я бы посоветовал не считать их обоих взаимоисключающими. Struts2 конкурирует с Spring MVC, но Struts2 использует контейнер для инъекций Spring и возможности AOP (Spring core и AOP).
Struts2 и Spring MVC работают для достижения одних и тех же результатов: чистой веб-инфраструктуры MVC. Выбор между ними будет в некоторой степени личным предпочтением. Мне лично не нравилось ощущение работы с Spring MVC, в то время как Struts2 и его стек перехватчиков работали намного удобнее.
Я бы посоветовал вам поработать над несколькими учебными приложениями типа "привет мир" в каждой среде и посмотреть, какие из них вам удобнее работать. Обе структуры имеют свои сильные и слабые стороны, но все они могут быть преодолены.