Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Design goals and overview  





2 See also  





3 References  





4 Bibliography  





5 External links  














Apache Struts 1







 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 




In other projects  



Wikimedia Commons
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


Apache Struts
Original author(s)Craig McClanahan
Developer(s)Apache Software Foundation
Initial releaseMay 2000; 24 years ago (2000-05)
Final release

1.3.10 / December 8, 2008; 15 years ago (2008-12-08)

Repository
Written inJava
Operating systemCross-platform
PlatformCross-platform (JVM)
SuccessorApache Struts 2
LicenseApache License 2.0
Websiteweblegacy.github.io/struts1/ Edit this at Wikidata

Apache Struts 1 is an open-source web application framework for developing Java EE web applications. It uses and extends the Java Servlet 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 2, which reached its first full release in February 2007.

In addition to the current and constantly evolving successor version Struts 2, a clone of Struts 1 exists since 2022, which updates the legacy framework of Struts 1 to a current Jakarta EE compatible stack.[1]

Design goals and overview

[edit]

In a standard Java EE web application, the client will typically call to the server via a web form. The information is then either handed over to a Java Servlet which interacts with a database and produces an HTML-formatted response, or it is given to a JavaServer Pages (JSP) document that intermingles HTML and Java code to achieve the same result. Both approaches are often considered inadequate for large projects because they mix application logic with presentation and make maintenance difficult.

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 ActionServlet) and facilitates the writing of templates for the view or presentation layer (typically in JSP, but XML/XSLT and Velocity are also supported). The web application programmer is responsible for writing the model code, and for creating a central configuration file struts-config.xml 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 without the need for any embedded Java code.

Struts is categorized as a Model 2 request-based web application framework.[2]

Struts also supports 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

[edit]

References

[edit]
  1. ^ Graff, Stefan (2024). "Struts1 - Reloaded". Github. Retrieved 2024-02-13.
  • ^ Shan, Tony (2006). "Taxonomy of Java Web Application Frameworks". 2006 IEEE International Conference on e-Business Engineering (ICEBE'06). Proceedings of 2006 IEEE International Conference on e-Business Engineering (ICEBE 2006). pp. 378–385. doi:10.1109/ICEBE.2006.98. ISBN 0-7695-2645-4. Retrieved 2010-10-10.
  • Bibliography

    [edit]
  • Bill Dudney and Jonathan Lehr: Jakarta Pitfalls, Wiley, ISBN 978-0-471-44915-7
  • Bill Siggelkow: Jakarta Struts Cookbook, O'Reilly, ISBN 0-596-00771-X
  • James Goodwill, Richard Hightower: Professional Jakarta Struts, Wrox Press, ISBN 0-7645-4437-3
  • John Carnell and Rob Harrop: Pro Jakarta Struts, Second Edition, Apress, ISBN 1-59059-228-X
  • John Carnell, Jeff Linwood and Maciej Zawadzki: Professional Struts Applications: Building Web Sites with Struts, ObjectRelationalBridge, Lucene, and Velocity, Apress, ISBN 1-59059-255-7
  • Ted Husted, etc.: Struts in Action, Manning Publications Company, ISBN 1-930110-50-2
  • Struts View Assembly and Validation, (PDF format).
  • Stephan Wiesner: Learning Jakarta Struts 1.2, Packt Publishing, 2005 ISBN 1-904811-54-X
  • [edit]
    Retrieved from "https://en.wikipedia.org/w/index.php?title=Apache_Struts_1&oldid=1235099841"

    Categories: 
    Apache Software Foundation projects
    Cross-platform free software
    Free software programmed in Java (programming language)
    Java enterprise platform
    Web frameworks
    Software using the Apache license
    2000 software
    Hidden categories: 
    Articles with short description
    Short description matches Wikidata
    Articles lacking in-text citations from April 2009
    All articles lacking in-text citations
     



    This page was last edited on 17 July 2024, at 17:35 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki