Apache Struts
Apache Struts | |
Fejlesztő | Apache Software Foundation |
Első kiadás | 2000-05 |
Legfrissebb stabil kiadás | 6.6.1 (stabil verzió, 2024. október 5.)[1] |
Programozási nyelv | Java |
Operációs rendszer | multi-platform |
Platform | multi-platform (JVM) |
Állapot | End-of-life,[2] superseded by Apache Struts 2 |
Kategória | web framework |
Licenc | Apache License 2.0 |
Az Apache Struts weboldala |
Az Apache Struts egy nem folytatott nyílt forráskódú webalkalmazás keretrendszer Java EE webalkalmazások fejlesztéséhez. A Java Servlet APIt használja és terjeszti ki, hogy segítse a fejlesztőket a modell–nézet–vezérlő (angol rövidítéssel MVC) architektúra megvalósításában. Eredetileg Craig McClanahan fejlesztette ki és adományozta az Apache Foundation-nak 2000 májusában. Eredetileg az Apache Jakarta projektje része volt, és Jakarta Struts-ként ismert, 2005-ben vált felső szintű Apache projektté.
A WebWork keretrendszer az Apache Struts-ból alakult ki azért, hogy továbbfejlesztéseket és finomításokat nyújtson, megtartva a Struts keretrendszer eredeti általános architektúráját. 2005 decemberében bejelentették, hogy a Struts-ba vissza merge-elik a WebWork-öt. A WebWork 2.2 vált a Apache Struts 2-vé, amely 2007-ben érte el az első teljes kiadását.
Tervezési célok áttekintése
[szerkesztés]A sztenderd Java EE web alkalmazásban a kliens tipikusan egy web form-on keresztül hívja a szervert. Az információt aztán vagy a Java Servletnek továbbítják, amely kölcsönhatásba kerül az adatbázissal és HTML-formázott választ állít elő, vagy továbbadják egy JavaServer Pages (JSP) dokumentumnak, amely keveredik a HTML-lel és Java kóddal, hogy ugyanazt az eredményt adja. Mindkét megközelítést nagy projektekhez gyakran nem tartják megfelelőnek, mert az alkalmazás logika keveredik a megjelenítő réteggel, amely megnehezíti a karbantartást.
A Struts célja, hogy külön válassza a modellt (alkalmazás logika amely kölcsönhatásba kerül az adatbázissal) a megjelenítéstől (HTML oldalakat állít elő kliensnek) és vezérlőtől (példány, amely továbbítja az információt a megjelenítés és modell között).
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.
A Struts Model 2-es kérés alapú Web alkalmazás keretrendszerként kategorizálható.[3]
A Struts támogatja továbbá többnyelvűséget a web forms segítségével és van egy sablon mechanizmusa is, amelyet "Tiles"-nak hívank. Ez utóbbi lehetővé teszi a prezentációs rétegnek, hogy független fej- és lábléc, menünavigáció és tartalom komponensekből legyen előállítható.
Kapcsolódó szócikkek
[szerkesztés]Jegyzetek
[szerkesztés]- ↑ Release 6.6.1, 2024. október 5. (Hozzáférés: 2024. november 17.)
- ↑ Apache Struts 1 EOL Announcement
- ↑ Shan, Tony: Taxonomy of Java Web Application Frameworks. Proceedings of 2006 IEEE International Conference on e-Business Engineering (ICEBE 2006), 2006. (Hozzáférés: 2010. október 10.)
Bibliográfia
[szerkesztés]- James Holmes: Struts: The Complete Reference, McGraw-Hill Osborne Media, ISBN 0-07-223131-9
- 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[halott link], (PDF format).
- Stephan Wiesner: Learning Jakarta Struts 1.2, Packt Publishing, 2005 ISBN 1-904811-54-X