Content deleted Content added
Undid revision 1200549040 by 2601:642:4600:BE10:EDEE:704:3586:A9FA (talk) |
URL |
||
(6 intermediate revisions by 3 users not shown) | |||
Line 1:
{{Short description|Open-source web application framework}}
{{For|the successor of Apache Struts 1|Apache Struts
{{More footnotes needed|date=April 2009}}
{{Infobox software
Line 11:
| latest release version = 1.3.10
| latest release date = {{Start date and age|2008|12|08}}
| replaced_by = [[Apache Struts|Apache Struts 2]]
| operating system = [[Cross-platform]]
| programming language = [[Java (programming language)|Java]]
| platform = [[Cross-platform]] ([[Java Virtual Machine|JVM]])
| license = [[Apache License 2.0]]
| website = {{Official URL
}}
'''Apache Struts 1''' is an [[Open-source software|open-source]] [[web application framework]] for developing [[Java EE]] [[web application]]s. It uses and extends the [[Java Servlet]] [[application programming interface|API]] to encourage developers to adopt a [[model–view–controller]] (MVC) architecture. It was originally created by [[Craig McClanahan]] and donated to the [[Apache Foundation]] in May 2000. Formerly located under the Apache [[Jakarta Project]] and known as '''Jakarta Struts''', it became a top-level Apache project in 2005.
The WebWork framework spun off from Apache Struts aiming to offer enhancements and refinements while retaining the same general architecture of the original Struts framework. However, it was announced in December 2005 that Struts would re-merge with WebWork. WebWork 2.2 has been adopted as [[Apache Struts|Apache Struts 2]], which reached its first full release in February 2007.
In addition to the current and constantly evolving successor version Struts 2, a [[Clone (computing)|clone]] of Struts 1 exists since 2022, which updates the legacy framework of Struts 1 to a current [[Jakarta EE]] compatible stack.<ref>{{cite web|first = Stefan|last = Graff|year = 2024|access-date = 2024-02-13|url = https://github.com/weblegacy/struts1|title = Struts1 - Reloaded|publisher = Github}}</ref>
== Design goals and overview ==
Line 30 ⟶ 32:
Requests from the client are sent to the controller in the form of "Actions" defined in the configuration file; if the controller receives such a request it calls the corresponding Action class that interacts with the application-specific model code. The model code returns an "ActionForward", a string telling the controller what output page to send to the client. Information is passed between model and view in the form of special [[JavaBeans]]. A powerful custom tag library allows it from the presentation layer to read and write the content of these beans without the need for any embedded Java code.
Struts is categorized as a [[JSP model 2 architecture|Model 2]] request-based web application framework.<ref>{{cite
Struts also supports [[Internationalization and localization|internationalization]] by web forms, and includes a template mechanism called "Tiles" that (for instance) allows the presentation layer to be composed from independent header, footer, menu navigation and content components.
|