The Framework utilises the Java Servlet API to support the model-view- controller (MVC) design. The main purpose of this framework is to separate the model, the logic of the application which communicates with the database, from the view, which is what the end-user sees, and the controller, that passes information between model and view.

Programmers will create model code to be used with the Struts framework, that provides the necessary controller, to combine the model, view and controller. The framework will implement a number of automated processes that allow for more efficient work.

The framework was developed by Craig McClanahan, who, in 2000, gave it to the Apache Foundation. Under the Apache Jakarta Project the framework was entitled Jakarta Struts.