Home / Computer Science / Struts / What is Struts?

What is Struts?

Apache Struts 2 is an extensible, elegant framework for creating enterprise-ready Java web applications. Struts is a frame work for web developers assumes a working knowledge about how java web applications are built. It uses and extends the Java Servlet API.

The struts framework was created by Craig McClanahan and donated to Apache Foundation in May, 2000 and Struts 1.0 was released in June 2001. Apache struts 2 originally known as Web Work2.
Struts is designed based on MVC pattern. MVC means Model View Controller. When a request is received the controller invokes an Action class. The controller is implemented as a filter.


MVC is a software designing model in expansion of MVC is Model View Controller. MVC has Model View and controller.
Model: A model is an object that contains the business logic and interacts with the persistence storage to store, retrieve and manipulate data. Model represents only data of an application.
View: View is responsible for displaying the data of application and it is responsible for displaying the results back to the user. In Struts the view layer is implemented using JSP. The view is independent of application logic.
Controller : it is an action Servlet handles all requests from the user and send to appropriate view to Display the response.

Requirements :
1. Struts zip file
2. Tomcat server 7.0 and above
3. Eclipse IDE.
Struts Installation and configuration:
Download the struts zip file latest version from the link http://struts.apache.org/download.cgi and extract the file save it in folder.
Add these jar files to our struts application by using Configure Build Path option in eclipse.
Required jar files for struts framework are:
• freemarker-2.3.8.jar
• commons-logging-1.0.4.jar
• ognl-2.6.11.jar
• struts2-core-2.0.11.jar
• commons-collections-3.0.jar
• xwork-2.0.4.jar

About GSK

Hi, i am Santosh Gadagamma, a tutor in Software Engineering and an enthusiast for sharing knowledge in Computer Science and other domains. I developed this site to share knowledge to all the aspirants of technologies like, Java, C/C++, DBMS/RDBMS, Bootstrap, Big Data, Javascript, Android, Spring, Hibernate, Struts and all levels of software project design, development, deployment, and maintenance. As a programmer I believe that, "The world now needs computers to function." Hope, this site guides you as a learning tool towards greater heights. I believe that Education has no end points and i wish to learn more in the process of teaching you.