Answer1: Struts is a Framework. It is based on MVC method. MVC means MODEL VIEW CONTROLLER.
Struts provides its own Controller component and integrates with other technologies to provide the Model and the View.
For the Model, Struts can interact with standard data access technologies, like JDBC and EJB, as well as most any third-party packages, like Hibernate, iBATIS, or Object Relational Bridge.
For the View, Struts works well with JavaServer Pages, including JSTL and JSF, as well as Velocity Templates, XSLT, and other presentation systems.
For the Controller provided by Struts Framework which handles all the requests and process them by getting the information from Struts-config.xml file which is the important resource of the Struts Framework.
Author: Kuhajeyan Posted Date: 01/09/2006
Answer2: yes, it is mvc framework java applications (web). you could better understand this if you know something about what an MVC is and why you need an mvc, which will tell half of the answer for your question.
MVC
it logically and phisically divides your application into, (MVC) - M - Model , V- View, C- Controller. view presents/receive data to/from user, this is(view) completely controlled by the Controller. Controller updates the view with data processed with your typical business logic encoded in your Model and also sends the data to model possibly with some validation.this framework ensures there is least minimum coupling between these three components.
......................
Well this is 90% of what a struts is. more over sturts also have its controls that you can use for your View. it also enables you to plug your other layers with the application. such as persistence and your business logic layers.
Eventhough your entire architecture can be composed in struts mvc framework. it is typically used at front end part where you control pages with its navigation(struts config).
Answer3: Apache Struts (formerly under the Apache Jakarta Project, Struts is now a top level project) is an open-source framework for developing Java EE web applications. It uses and extends the Java Servlet API to encourage developers to adopt an MVC architecture. It was originally created by Craig McClanahan and donated to the Apache Foundation in May, 2000.
This framework enables design and implementation of large web applications to be handled by different groups of people. In other words, page designers, component developers and other developers can handle their own bit of the project, all in tandem and in a decoupled manner. It features I18N (internationalization), a powerful custom tag library, tiled displays and form validation. It also supports a variety of presentation layers, including JSP, XML/XSLT, JavaServer Faces (JSF), and Velocity, as well as a variety of model layers, including JavaBeans and EJB.
http://en.wikipedia.org/wiki/Struts