Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Apache Struts - Teknopedia
Apache Struts - Teknopedia
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

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.

Descrizione

[modifica | modifica wikitesto]

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]

Altri progetti

  • Wikimedia Commons
  • Collabora a Wikimedia Commons Wikimedia Commons contiene immagini o altri file su Apache Struts

Collegamenti esterni

[modifica | modifica wikitesto]
  • (EN) Sito ufficiale, su struts.apache.org. Modifica su Wikidata
  • Repository sorgenti di Apache Struts, su github.com. Modifica su Wikidata
  • Sito di segnalazione bug, su issues.apache.org. Modifica su Wikidata
  • Presentazione approfondita di XMoon 0.7.4 in pdf, su prdownloads.sourceforge.net.
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)
  Portale Internet
  Portale Software libero
  Portale Telematica
Estratto da "https://it.wikipedia.org/w/index.php?title=Apache_Struts&oldid=142073399"

  • Indonesia
  • English
  • Français
  • 日本語
  • Deutsch
  • Italiano
  • Español
  • Русский
  • فارسی
  • Polski
  • 中文
  • Nederlands
  • Português
  • العربية
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022