This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
If you are building an app from scratch, I would recommend using Hibernate for O/R mapping, Spring for MVC and Tapestry for display. Struts is in itself an MVC framework, so I am not sure how much you gain by using it along with Spring. I know people do use them both, but generally it is when they already have an application built in Struts and simply want to leverage some of the better attirbutes of Spring but cannot afford a full switch to a new framework.