Movatterモバイル変換


[0]ホーム

URL:


Vai al contenuto
WikipediaL'enciclopedia libera
Ricerca

Apache Struts

Da Wikipedia, l'enciclopedia libera.
Apache Struts
software
Logo
Logo
GenereFramework per applicazioni web
SviluppatoreApache Software Foundation
Data prima versione10 ottobre 2006 e 11 aprile 2014
Ultima versione7.1.1 (1º ottobre 2025)
Sistema operativoMultipiattaforma
LinguaggioJava
LicenzaApache License 2.0
(licenza libera)
Sito webstruts.apache.org/
Modifica dati su Wikidata ·Manuale

IninformaticaApache Struts è unframeworkopen source per lo sviluppo diapplicazioni web supiattaformaJava EE. Inizialmente sviluppato come sotto-progetto diApache Jakarta, ma ora divenuto un progetto a sé, estende le JavaServlet, incoraggiando gli sviluppatori all'utilizzo deldesign patternModel-View-Controller (MVC). Il suo ideatore èCraig McClanahan ed è stato donato allaApache Software Foundation nel maggio del 2000 da parte diIBM.

L'utilizzo di Struts permette lo sviluppo diweb application di notevoli dimensioni; inoltre agevola la suddivisione dello sviluppo del progetto fra vari sotto-team. In altre parole, iweb designer, e i vari gruppi di sviluppatori possono gestire in parallelo e autonomamente la loro parte del progetto. Tra le funzionalità offerte c'è lai18N, ossia l'internazionalizzazione, una potentetag library e la validazione deiform.

Descrizione

[modifica |modifica wikitesto]

Il framework diStruts è un insieme diclassi edinterfacce che costituiscono l'infrastruttura per costruireWeb Application Java EE conformi al design pattern MVC. Questo framework gestisce tutte le richiesteclient e smista il flusso applicativo in base alla logica configurata. Si potrebbe definire come la “spina dorsale” di una applicazione che adotta tale framework.

Tutta la configurazione dell'applicazione è contenuta all'interno di uno specificofileXML che viene letto in fase di start-up dell'applicazione e definisce le associazioni tra i vari sottoelementi che compongono il sistema. Sono di seguito descritti i vantaggi di cui beneficia un'applicazione realizzata con il supporto del framework Struts.

Rapidità di sviluppo

[modifica |modifica wikitesto]

A differenza di quanto avveniva utilizzando ilJSP Model 1, è possibile sviluppare in parallelo le varie parti dell'applicazione, view (JSP/HTML) elogica di business (Java) sfruttando al meglio le conoscenze dei componenti del team di sviluppo. Si possono utilizzare sviluppatori meno esperti e anche con poche conoscenze diJava per la realizzazione delleview, permettendo agli sviluppatori Java più esperti di concentrarsi sulla realizzazione dellabusiness logic. La versione 2.0 di Struts (Struts2) garantisce un'ulteriore riduzione dei tempi di sviluppo grazie ad un'ulteriore semplificazione della logica e della corrispettiva implementazione del framework.

Manutenibilità

[modifica |modifica wikitesto]

L'applicazione è costituita da livelli logici ben distinti. Una modifica in uno dei livelli non comporta modifiche negli altri. Ad esempio una modifica ad una pagina JSP non ha impatto sulla logica di controllo o sulla logica di business.

Modularità e Riusabilità

[modifica |modifica wikitesto]

I diversi ruoli dell'applicazione sono affidati a diversi componenti. Ciò consente di sviluppare codicemodulare e più facilmente riutilizzabile.

Per quanto riguarda il livello presentazione (laview del pattern MVC), Struts supporta diverse tecnologie, inclusiJSP,XML/XSLT,Java Server Faces (JSF),Cocoon,Swing (JFC) eVelocity. Struts permette la gestione dellainternazionalizzazione ("I18N") dei contenuti, in pratica permette la gestione centralizzata dei file contenenti le stringhe testuali da visualizzare in dipendenza alla lingua dichiarata dalbrowser.

Un'altra caratteristica è la gestione automatica delpool delle connessioni aldatabase, sollevando lo sviluppatore da tale incarico; ogni volta che bisogna accedere al database, si dichiara che è necessaria una connessione e il framework restituisce un handler alla connessione.

Per quanto riguarda il livello dimodellazione dei dati sono supportati iJavaBean eEJB. Struts lega i suoi componenti in base alle direttive contenute in un file XML, il filestruts-config.xml. In questo file vengono configurati i componenti e le interazioni fra gli stessi.

Altri framework MVC

[modifica |modifica wikitesto]

Anche se Struts è molto ben documentato, affidabile e diffuso, di recente vede la concorrenza di altri framework MVC più leggeri, comeSpring e Tapestry e di altri comeXWork e il più evolutoWebWork.

Altri progetti

[modifica |modifica wikitesto]

Altri progetti

Collegamenti esterni

[modifica |modifica wikitesto]
V · D · M
Framework per applicazioni web
C++CppCMS ·Wt
CLIASP.NET (Core ·AJAX ·Dynamic Data ·MVC ·Razor ·Web Forms) ·Blazor ·DNN ·BFC ·MonoRail ·OpenRasta ·Umbraco ·WebSharper
ColdFusionCFWheels ·ColdBox Platform ·ColdSpring ·Fusebox ·Model-Glue
Common LISPCaveman2 ·CL-HTTP ·Weblocks
HaskellYesod ·Snap
JavaAppFuse ·Flexive ·Grails ·GWT ·ICEfaces ·ItsNat ·JavaServer Faces ·JHipster ·Jspx ·JWt ·OpenXava ·Play ·Remote Application Platform ·RIFE ·Seam ·Sling ·Spring ·Stripes ·Struts ·Tapestry ·Vaadin ·Vert.x ·WebWork ·Wicket ·WaveMaker ·ZK
JavaScriptAngular/AngularJS ·Backbone.js ·Chaplin.js ·Closure ·Dojo Toolkit ·Ember.js ·Express.js ·Ext JS ·jQuery ·Knockout ·Meteor ·MooTools ·Next.js ·Node.js ·OpenUI5 ·Prototype ·React ·Rico ·script.aculo.us ·Sencha Touch ·SproutCore ·Svelte ·Vue.js ·Wakanda
PerlCatalyst ·Dancer ·Mason ·Maypole ·Mojolicious ·WebGUI
PHPCakePHP ·CodeIgniter ·Drupal ·Fat-Free ·FuelPHP ·Flow ·Grav ·Gyroscope ·Horde ·Joomla! ·Kohana ·Laravel ·Li3 ·Midgard ·MODX ·Nette ·Phalcon ·PHP-Fusion ·Pop PHP ·PRADO ·ProcessWire ·Qcodo ·Silex ·SilverStripe ·Symfony ·TYPO3 ·WordPress ·XOOPS ·Yii ·Zend Framework
PythonBlueBream ·CherryPy ·Django ·Flask ·Grok ·Nevow ·Pyjs ·Pylons ·Pyramid ·Quixote ·TACTIC ·Tornado ·TurboGears ·web2py ·Webware ·Zope 2
RubyCamping ·Merb ·Padrino ·Ruby on Rails ·Sinatra
ScalaLift ·Play ·Scalatra
SmalltalkAIDA/Web ·Seaside
AltriVibe.d (D) ·Application Express (PL/SQL) ·Grails (Groovy) ·Kepler (Lua) ·OpenACS (Tcl) ·Phoenix (Elixir) ·Ash (Elixir) ·SproutCore (JavaScript-Ruby) ·Yaws (Erlang)
Estratto da "https://it.wikipedia.org/w/index.php?title=Apache_Struts&oldid=142073399"
Categorie:
Categorie nascoste:

[8]ページ先頭

©2009-2026 Movatter.jp