with struts you can separate just as u said: You can have:
-> Data Access Objects
-> Business Objects
-> System components
It implements thew MVC Model 2. Separates model, view and controller. The model takes care of the business logic, then hio view our JSP pages. Finally our ActionServlet.
I have never done spring, but I think its kind of the same pattern.