Struts is not an alternate to the EJBs where as Spring is an alternate.
Spring is still a MVC-based Presentation framework. It is
not an alternative to Enterprise JavaBeans. Spring has more support to working with Model code, Struts has none.
The supporting Spring code for the Model is not an alternative to a business object model. These are only supporting objects that help you integrate your business object model with your presentation code.
A Spring-based web application should connect to a POJO or EJB-based business model application in order to execute business logic. If business logic is coded in any of the Spring objects, then the Spring framework is being used incorrectly.
Spring is favored over Struts because of these supporting objects that help integrate the presentation component with the business component.
However, Spring does not present a framework for implementing business/domain logic. It helps you create a
Controller and a
View for your application, no
Model though.
EJB is still a great option for implementing the business/domain object model.
[ October 08, 2008: Message edited by: James Clark ]