My understanding of Struts is that it helps to provide a clear division of the web roles (web designer, component developer and the database developer).
Sort of... Struts is based on a design
pattern called the Model-View-Contoller "invented" and first used I believe by Smalltalk developers. Essentially there is a separation of the presentation layer (View) from the business logic(Model). The controllers responsibility is to monitor incoming requests and send them to the appropriate view. It most closly resembles the
J2EE design pattern Front Controller design pattern.
It may not necessarily divide the tasks between the different roles, but it will make an HTML developers life easy not to have to see a ton of
java scriplets in the source code while allowing a component developer to concentrate on business logic.
Hope that helps