Apache Struts

Apache Struts

FejlesztőApache Software Foundation
Első kiadás2000-05
Legfrissebb stabil kiadás6.4.0 (stabil verzió, 2024. április 19.)[1]
Programozási nyelvJava
Operációs rendszermulti-platform
Platformmulti-platform (JVM)
ÁllapotEnd-of-life,[2] superseded by Apache Struts 2
Kategóriaweb framework
LicencApache 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

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).


A szócikk egy része még lefordítandó. Segíts te is a fordításban!

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

  • Webalkalmazás keretrendszerek összehasonlítása

Jegyzetek

  1. https://struts.apache.org/
  2. Apache Struts 1 EOL Announcement
  3. 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

  • 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, (PDF format).
  • Stephan Wiesner: Learning Jakarta Struts 1.2, Packt Publishing, 2005 ISBN 1-904811-54-X

További információk

  • Hivatalos weboldal
Sablon:Apache
  • m
  • v
  • sz
Felső szintű projektek
Abdera · Accumulo · ActiveMQ · Ambari  · Ant · Aries · Apache HTTP Server · APR · Avro · Axis · Axis2 · Bloodhound · Buildr · Camel · Cassandra · Cayenne · Chemistry · Click · CloudStack · Cocoon · Continuum · Cordova · CouchDB · cTAKES · CXF · Deltacloud · Derby · Directory · Empire-db · Felix · Flex · Forrest · Geronimo · Gora · Gump · Hadoop · Hama · HBase · Hive · HBase · Isis · Jackrabbit · James · JMeter · Karaf · Lenya · Mahout · Marmotta · Maven · MINA · mod_perl · MyFaces · ODE · OFBiz · OpenEJB · OpenJPA · OpenNLP · OpenOffice · PDFBox · Phoenix · POI · Pivot · Qpid · River · Roller · Samza · ServiceMix · Shindig · Shiro · Sling · Spark · Stanbol · Storm · SpamAssassin · Struts · Subversion · Sqoop · Tapestry · Tcl · Thrift · Tiles · Tomcat · Trafficserver · Turbine · Tuscany · UIMA · Velocity · Wave · Wicket · Wink · Xalan · Xerces · XMLBeans
Commons projektek
BCEL · BSF · Daemon · Jelly
Lucene projektek
Lucene Java · Lucene.Net · Nutch · Solr
Hadoop projektek
HDFS · HBase · Hive · Pig · Spark · ZooKeeper
Egyéb projektek
Chainsaw · Batik · FOP · Log4j · XAP · Log4Net · Ivy
Incubator projektek
ACE · Composer · JSPWiki · XAP
Nyugdíjazott projektek
AxKit · Beehive · Bluesky · Cactus · Excalibur · Jakarta · Harmony · HiveMind · Slide · Shale · stdcxx · iBATIS · Jakarta
Licenc sztenderdek
Category Apache weboldala · Category Kategória · Commons pageCommons