For faster navigation, this Iframe is preloading the Wikiwand page for Apache Struts.

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 versione6.6.0 (20 luglio 2024)
Sistema operativoMultipiattaforma
LinguaggioMateria:Java
LicenzaApache License 2.0
Sito webstruts.apache.org/

In informatica Apache Struts è un framework open source per lo sviluppo di applicazioni web su piattaforma Java EE. Inizialmente sviluppato come sotto-progetto di Apache Jakarta, ma ora divenuto un progetto a sé, estende le Java Servlet, incoraggiando gli sviluppatori all'utilizzo del design pattern Model-View-Controller (MVC). Il suo ideatore è Craig McClanahan ed è stato donato alla Apache Software Foundation nel maggio del 2000 da parte di IBM.

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

Il framework di Struts è un insieme di classi ed interfacce che costituiscono l'infrastruttura per costruire Web Application Java EE conformi al design pattern MVC. Questo framework gestisce tutte le richieste client 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 specifico file XML 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 il JSP Model 1, è possibile sviluppare in parallelo le varie parti dell'applicazione, view (JSP/HTML) e logica 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 di Java per la realizzazione delle view, permettendo agli sviluppatori Java più esperti di concentrarsi sulla realizzazione della business 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 codice modulare e più facilmente riutilizzabile.

Per quanto riguarda il livello presentazione (la view del pattern MVC), Struts supporta diverse tecnologie, inclusi JSP, XML/XSLT, Java Server Faces (JSF), Cocoon, Swing (JFC) e Velocity. Struts permette la gestione della internazionalizzazione ("I18N") dei contenuti, in pratica permette la gestione centralizzata dei file contenenti le stringhe testuali da visualizzare in dipendenza alla lingua dichiarata dal browser.

Un'altra caratteristica è la gestione automatica del pool delle connessioni al database, 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 di modellazione dei dati sono supportati i JavaBean e EJB. Struts lega i suoi componenti in base alle direttive contenute in un file XML, il file struts-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, come Spring e Tapestry e di altri come XWork e il più evoluto WebWork.

Altri progetti

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]
{{bottomLinkPreText}} {{bottomLinkText}}
Apache Struts
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?