Apache Struts
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 
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ó.

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 
Webalkalmazás keretrendszerek összehasonlítása

Jegyzetek

Bibliográfia 

 James Holmes: Struts: The Complete Reference, McGraw-Hill Osborne Media, 
 Bill Dudney and Jonathan Lehr: Jakarta Pitfalls, Wiley, 
 Bill Siggelkow: Jakarta Struts Cookbook, O'Reilly, 
 James Goodwill, Richard Hightower: Professional Jakarta Struts, Wrox Press, 
 John Carnell and Rob Harrop: Pro Jakarta Struts, Second Edition, Apress, 
 John Carnell, Jeff Linwood and Maciej Zawadzki: Professional Struts Applications: Building Web Sites with Struts, ObjectRelationalBridge, Lucene, and Velocity, Apress, 
 Ted Husted, etc.: Struts in Action, Manning Publications Company, 
 Struts View Assembly and Validation, (PDF format).
 Stephan Wiesner: Learning Jakarta Struts 1.2, Packt Publishing, 2005

További információk 
 

Struts
Struts
Struts
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-nakmájusában . Eredetileg az Apache Jakarta projektje része volt , és Jakarta Struts-ként ismert, 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.decemberében bejelentették , hogy a Struts-ba vissza merge-elik a WebWork-öt . A WebWork2 vált a Apache Strutsvé , amelyben érte el az első teljes kiadását . Tervezési célok áttekintése 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 Modeles kérés alapú Web alkalmazás keretrendszerként kategorizálható . 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 Webalkalmazás keretrendszerek összehasonlítása Jegyzetek Bibliográfia James Holmes : Struts : The Complete Reference , McGraw-Hill Osborne Media , Bill Dudney and Jonathan Lehr : Jakarta Pitfalls , Wiley , Bill Siggelkow : Jakarta Struts Cookbook , O'Reilly , James Goodwill , Richard Hightower : Professional Jakarta Struts , Wrox Press , John Carnell and Rob Harrop : Pro Jakarta Struts , Second Edition , Apress , John Carnell , Jeff Linwood and Maciej Zawadzki : Professional Struts Applications : Building Web Sites with Struts , ObjectRelationalBridge , Lucene , and Velocity , Apress , Ted Husted , etc . : Struts in Action , Manning Publications Company , Struts View Assembly and Validation , ( PDF format ) . Stephan Wiesner : Learning Jakarta Struts2 , Packt Publishing , További információk Struts Struts Struts