Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Creare un progetto Struts con Eclipse

Analizzare un progetto importando un'applicazione in Eclipse
Analizzare un progetto importando un'applicazione in Eclipse
Link copiato negli appunti

Nelle prime lezioni abbiamo fornito una visone d'insieme del framework, che ci sarà utile per approfondire i concetti nel corso della guida. In questa lezione iniziamo a prendere confidenza con l'infrastruttura di Struts e ci cimentiamo con un primo, semplice, progetto.

Prima di iniziare con la configurazione della nostra prima applicazione, è utile ricordare che esistono due filoni di sviluppo del framework corrispondenti alle versioni 1 e 2 Struts. Tratteremo delle differenze tra le due versioni in seguito, per ora concentriamoci sulla prima, che sarà argomento predominante della guida. Per prima cosa quindi scarichiamo l'ultima release di Struts 1.

Figura 2. Download della versione 1.3.10
Download della versione 1.3.10

Struts è distribuito sia sotto forma di codice sorgente (source), sia tramite i "file binari" (full distribution). Scaricare il codice sorgente garantisce un maggior controllo sull'ambiente in cui si effettua la compilazione, ma non è adatto ai principianti. Se non si hanno particolari esigenze (come la modifica o l'inclusione di una classe java nella propria installazione), si può tranquillamente usare la distribuzione binaria.

Per i nostri esempi utilizziamo la "distribuzione binaria". Possiamo quindi cliccare sul link sotto Full Distribution.

Una volta estratto l'archivio, troviamo diverse cartelle. Il framework è composto da circa 300 classi Java, divise in otto package principali (il numero delle classi è approssimativo perché il framework subisce di continuo aggiunte e aggiustamenti).

Struttura di una semplice applicazione

Per esaminare la struttura delle cartelle di una semplice applicazione Struts possiamo servirci dei file .war di esempio che troviamo nella cartella apps dell'archivio estratto.

Questi esempi risultano parecchio interessanti soprattutto per chi inizia. Infatti, per entrare nella logica di Struts e applicare il ciclo di vita delle richieste, che abbiamo mostrato nella lezione precedente, è utile esaminare la struttura delle cartelle di un progetto.

Per farlo abbiamo diverse possibilità: possiamo ad esempio rinominare il file struts-blank-1.x.x.war in ProvaStruts.war ed effettuare il deploy su un container come Tomcat o JBoss.

Una alternativa ancora più semplice è quella di utilizzare un tool come Eclipse per effettuare le nostre prove e, siccome siamo nell'ambito di applicazioni JEE, scarichiamo Eclipse per sviluppatori JEE

Possiamo importare il progetto in Eclipse da menu File -> Import e scegliendo il formato Web

Figura 3. Importare il file .war in Eclipse
Importare il file .war in Eclipse

Ogni applicazione Web J2EE al di sotto della cartella in cui viene installata (ad esempio webapp di Tomcat) rispetta una struttura simile a quella che troviamo anche nel nostro progetto su Eclipse:

WebContent      (da considerarsi la 'root' dell'applicazione)
|
+-- WEB-INF 
|   |
|   +-- src     (contiene il codice delle nostre servlet)
|   |
|   +-- classes 
|   |
|   +-- lib     (qui ci sono le librerie del framework Struts)
|   |
|   +-- tags  
|   
+-- META-INF
|   
+-- pages       (contiene le JSP per le viste)
Figura 4. Struttura delle cartelle
Struttura delle cartelle

Alcuni di questi contenitori come WEB-INF sono fissi, ma possiamo personalizzare le altre directory modificando il file di configurazione della nostra applicazione. Ricapitolando:

  • WebContent è la root dell'applicazione. Qui possiamo inserire le nostre pagine dinamiche (le viste JSP) organizzate in cartelle e tutta la parte statica del sito come le pagine HTML, i fogli di stile e le immagini.
  • WEB-INF contiene i sorgenti delle azioni e i file di configurazione xml
  • lib contiene le librerie del framework e gli altri JAR utili all'applicazione. In generale, quando non abbiamo uno strumento automatico a farlo per noi, dobbiamo copiare la cartella lib che troviamo nell'archivio di Struts all'interno della nostra applicazione
  • classes: una cartella contenente le classi compilate dell'applicazione organizzate in cartelle corrispondenti alla struttura dei package

Ti consigliamo anche