Content deleted Content added
m Reverted edits by 125.19.34.86 (talk) to last revision by Rrburke (HG) |
URL |
||
(48 intermediate revisions by 40 users not shown) | |||
Line 1:
{{Short description|Open-source web application framework}}
{{More footnotes|date=April 2009}}▼
{{For|the successor of Apache Struts 1|Apache Struts}}
▲{{More footnotes needed|date=April 2009}}
{{Infobox software
| name = Apache Struts
Line 5 ⟶ 7:
| author = [[Craig McClanahan]]
| developer = [[Apache Software Foundation]]
| released = {{Start date and age|2000|05}}
| discontinued = yes
| latest release version = 1.3.10
| latest release date = {{
|
| operating system = [[Cross-platform]]
| programming language = [[Java (programming language)|Java]]
| platform = [[Cross-platform]] ([[Java Virtual Machine|JVM]])
| license = [[Apache License
| website = {{Official URL
}}
'''Apache Struts 1'''
The
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 26 ⟶ 30:
The goal of Struts is to separate the ''model'' (application logic that interacts with a database) from the ''view'' (HTML pages presented to the client) and the ''controller'' (instance that passes information between view and model). Struts provides the controller (a servlet known as <code>ActionServlet</code>) and facilitates the writing of templates for the view or presentation layer (typically in JSP, but [[XML]]/[[Extensible Stylesheet Language Transformations|XSLT]] and [[Jakarta Velocity|Velocity]] are also supported). The web application programmer is responsible for writing the model code, and for creating a central configuration file <code>struts-config.xml</code> that binds together model, view, and controller.
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
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.
== See also ==
*[[Comparison of server-side web
== References ==
Line 40 ⟶ 44:
== Bibliography ==
{{Refbegin}}
* [[James Holmes (programmer)|James Holmes]]: <cite>Struts: The Complete Reference</cite>, McGraw-Hill Osborne Media, {{ISBN
* Bill Dudney and Jonathan Lehr: <cite>Jakarta Pitfalls</cite>, Wiley, {{ISBN
* [[Bill Siggelkow]]: <cite>Jakarta Struts Cookbook</cite>, O'Reilly, {{ISBN
* [[James Goodwill]], [[Richard Hightower]]: <cite>Professional Jakarta Struts</cite>, [[Wrox Press]], {{ISBN
* John Carnell and [[Rob Harrop]]: <cite>Pro Jakarta Struts, Second Edition</cite>, Apress, {{ISBN
* John Carnell, [[Jeff Linwood]] and [[Maciej Zawadzki]]: <cite>Professional Struts Applications: Building Web Sites with Struts, ObjectRelationalBridge, Lucene, and Velocity</cite>, Apress, {{ISBN
* [[Ted Husted]], etc.: <cite>Struts in Action</cite>, Manning Publications Company, {{ISBN
* [http://www.softwaresummit.com/2003/speakers/AshleyStrutsView.pdf Struts View Assembly and Validation], (PDF format).
* Stephan Wiesner: <cite>Learning Jakarta Struts 1.2</cite>, Packt Publishing, 2005 {{ISBN
{{Refend}}
== External links ==
* {{Official website
{{Application frameworks}}
{{Apache Software Foundation}}
{{Authority control}}
[[Category:Apache Software Foundation projects|Struts 1]]
[[Category:Cross-platform free software]]
[[Category:Free software programmed in Java (programming language)]]
[[Category:Java enterprise platform
[[Category:Web
[[Category:Software using the Apache license]]
[[Category:2000 software]]
|