Tutorial su Struts 2 - Soluzione completa per principianti



Questo articolo sul tutorial di Struts 2 ti aiuterà a iniziare con il framework Struts 2 per lo sviluppo di applicazioni web J2EE insieme alla dimostrazione del codice.

Se stai cercando un file che può aiutarti a sviluppare applicazioni web JEE in modo rapido ed efficiente, allora Struts 2 è la soluzione perfetta per te. Struts 2 è un framework open source ampiamente utilizzato sul mercato. Attraverso questo tutorial di Struts 2, ti aiuterò a iniziare con esso insieme alle implementazioni pratiche.

Di seguito sono riportati gli argomenti che tratterò in questo tutorial di Struts:





Cos'è Struts?

In parole povere, Struts è un file -Basato framework open source che aiuta nello sviluppo di applicazioni web in J2EE. Itestende il e promuove il Modello, Vista, Titolare ( MVC ) architettura.Questo rende le applicazioni web sviluppate con tecnologie standard comeJSP, JavaBeans e XML, più manutenibili, estensibili e flessibili.

Struts Framework è stato inizialmente sviluppato da Craig McClanahan ed è stato consegnato ad Apache Foundation nel maggio 2000. Gradualmente, acquisisce la posizione di un progetto Apache di primo livello nel 2005 e successivamente, nel febbraio 2007, è stato sostituito da Puntoni 2 .



Struts Framework era ampiamente basato su MVC (Model-View-Controller) paradigma del design. Il suo scopo principale era quello di separare il Modello dalla Vista e il Controller nell'applicazione per ridurre la dipendenza e promuovere la Separation of Concerns (SoC). In altre parole, ha aiutato a separare la logica dell'applicazione che comunica principalmente con il databasedal attraverso il quale l'utente interagisce con l'applicazione e l'istanza che aiuta a canalizzare le informazioni tra Model e View.

Caratteristiche di Struts 2

  1. Forme e azioni basate su POJO :Le classi di azione in Struts vengono trattate come controller nell'applicazione. Sono responsabili della risposta a un'azione dell'utente, dell'esecuzione della logica di business e della restituzione di un risultato con la vista di cui eseguire il rendering. Funziona anche come classe modello.
  2. Tag e personalizzazione migliorati: Vari tipi di tag sono stati introdotti in Struts 2 come i tag dell'interfaccia utente, i tag di controllo, i tag di dati, ecc. Che aiutano nello sviluppo dell'applicazione.
  3. Funzionalità AJAX: Struts 2 supporta la tecnologia ajax che viene tipicamente utilizzata per generare una richiesta asincrona. Migliora le prestazioni dell'applicazione inviando al server solo i dati del campo richiesto.
  4. Facile integrazione: Fornisce una facile integrazione con altri framework Web come , DWR, SiteMesh e Tiles.
  5. Configurazioni minime: Durante l'utilizzo dell'applicazione Struts 2, non sono necessarie configurazioni generali. Funziona con configurazioni minime in cui la maggior parte delle impostazioni assume i valori predefiniti a meno che non vi siano deviazioni.
  6. Integrare le tecnologie di visualizzazione: Con Struts2, puoi facilmente integrarti con varie tecnologie di visualizzazione come XSLT, JSP, Freemarker, velocità, ecc.
  7. Tema e modelli: Struts 2 fornisce supporto a 3 tipi di temi:
    1. Xhtml
    2. Semplice
    3. Css_xhtml

Qui XHTML è il tema predefinito per Struts 2 ed è utilizzato principalmente per un aspetto e un aspetto comuni.

Ora che sai cos'è Struts e le sue varie caratteristiche, andiamo avanti con questo articolo del tutorial di Struts e impariamo la sua architettura.



Architettura

Struts Architecture - Esercitazione su Struts 2 - EdurekaCome puoi vedere nel diagramma sopra, Struts utilizza un livello elevato Architettura MVC . Qui il filtro servlet di invio Struts2 viene utilizzato per implementare il controller mentre le azioni vengono utilizzate per implementare il modello e la vista viene implementata combinando tipi di risultati e risultati. In questa architettura, il filo conduttore, il collegamento e l'integrazione con altri componenti sono abilitati dallo stack di valori e da OGNL. Inoltre, le configurazioni per le applicazioni web insieme ad azioni, intercettatori, risultati, ecc. Aiutano anche a canalizzare molte informazioni.

Ora, lasciatemi spiegare il flusso di lavoro completo durante il ciclo di vita di una richiesta generata dall'utente. Di seguito ho elencato il flusso di lavoro passo dopo passo per una migliore comprensione del funzionamento di Struts:

  • Inizia con la richiesta dell'utente che viene inviata al server per la richiesta di alcune risorse.
  • Questa richiesta viene quindi elaborata dal Filter Dispatcher per determinare l'azione appropriata.
  • Inoltre, le funzionalità di intercettazione configurate correttamente vengono quindi applicate alla richiesta come convalida, caricamento di file, ecc.
  • Una volta che l'azione selezionata è stata decisa ed eseguita in base all'operazione richiesta.
  • Nel caso in cui sia richiesta una post-elaborazione, vengono richiamati gli intercettori configurati.
  • Alla fine, il risultato viene fornito dalla visualizzazione e viene restituito all'utente.

Spero che questo cancelli il flusso di lavoro all'interno di un'applicazione Struts. Vediamo ora cosa ti serve nel tuo sistema per iniziare con Struts nella prossima sezione di questo tutorial di Struts 2

Configurazione dell'ambiente

Di seguito ho elencato le necessità di base per iniziare con Struts 2:

  • Giava
    Nel caso in cui non hai Java installato sul tuo sistema, puoi fare riferimento al Installazione di Java articolo.
  • Tomcat
    Se non hai Tomcat nel tuo sistema, puoi visitare Qui per il download gratuito.
  • IDE (preferibilmente Eclipse)
    Infine, hai bisogno del tuo Eclipse IDE per lo sviluppo di applicazioni.

Una volta terminato, sei pronto per bagnarti i piedi con Struts. Nella prossima sezione di questo tutorial di Struts 2, ti fornirò una breve panoramica sui concetti fondamentali di Struts 2.

Concetti fondamentali

1. Configurazioni

In ogni applicazione struts ci sono due file di configurazione principali:

  1. file struts.xml: Questo file contiene le informazioni riguardanti ilconfigurazione che vengono modificate come azioni. Viene utilizzato principalmente per sovrascrivere le impostazioni predefinite in un'applicazione. Questo file viene generalmente creato all'interno della directory WEB-INF / classes in qualsiasi progetto Struts.
  2. file struts.properties: Questo file fornisce un meccanismo che può alterare il comportamento del framework. Dalframework utilizza una serie di proprietà che puoi modificare in base alle tue esigenze.

2. Azioni

Le azioni o le classi di azioni sono i concetti principali di qualsiasi applicazione Struts 2, poiché agiscono come controller nel pattern MVC. In altre parole, le classi Action contengono la logica di business che aiuta nell'elaborazione dei dati. Oltre a questo, anche la classe d'azione è responsabilerispondere a una richiesta degli utenti, eseguire la logica di business. Aiuta inoltre il framework a determinare e restituire un risultato sulla base del file di configurazione (struts.xml), di nuovo all'utente per il rendering della pagina Visualizza.

Le classi di azioni Stuts2 non sono di natura singleton, ovvero un'istanza di questa classe verrà creata con ogni richiesta. Pertanto non devono essere thread-safe e sono semplici e indipendenti. Ciò rende molto più semplice il test di queste classi.

Un file di azione può essere creato in tre modi, che sono i seguenti:

  • Classe di azione semplice
    Qualsiasi classe java concreta può essere utilizzata come classe di azione Struts 2, ma l'unico requisito è che la classe deve contenere un metodo execute () con il tipo restituito String. Di seguito è riportato il codice per creare una semplice Action Class:
pacchetto com.edureka.struts2.action public class DemoAction {public String execute () {return 'Welcome!' }}
  • Implementazione dell'interfaccia dell'azione
    È inoltre possibile creare una classe di azione Struts 2 implementando l'interfaccia com.opensymphony.xwork2.Action. Contiene un unico metodo i.e execute () che deve essere implementato dalla classe di implementazione. Implementando questa interfaccia è possibile utilizzare diverse costanti come SUCCESS, ERROR, NONE, INPUT e LOGIN che possono essere utilizzate per le pagine dei risultati.
    Il codice seguente mostra un esempio per lo stesso:
pacchetto com.edureka.struts2.action import com.opensymphony.xwork2.Action public class DemoAction implementa Action {public String execute () {return SUCCESS}}
  • Estensione della classe ActionSupport

Le classi Action in Struts 2 generalmente estendono la classe Action Support che è l'implementazione predefinita dell'interfaccia Action. Fornisce varie funzionalità imperative per lo sviluppo di applicazioni web come la convalida dei dati, il messaggio a livello di azione, il messaggio di errore a livello di azione, il messaggio di errore a livello di campo e le risorse di lettura raggruppate, ecc.

Di seguito è riportata l'implementazione dello stesso:

pacchetto com.edureka.struts2.action import com.opensymphony.xwork2.ActionSupport public class DemoAction estende ActionSupport {@Override public String execute () genera un'eccezione {return SUCCESS}}

3. Intercettori

Interceptor agisce come uno dei principali pilastri del framework Struts 2. Non è altro che un oggettoche viene richiamato durante la preelaborazione e la postelaborazione di una richiesta.Aiuta a controllare e mantenere la transizione graduale del ciclo di richiesta e risposta.

Il vantaggio principale dell'utilizzo degli intercettori è che è collegabile. Quello che voglio dire è, nel caso in cui non hai più alcun uso di una preoccupazione specifica comeconvalida, gestione delle eccezioni, registrazione, ecc., è possibile rimuoverlo facilmente dall'applicazione senza doverlo ridistribuire. Per questo, tutto ciò che devi fare è eliminare la voce dal file struts.xml.

Il framework Struts2 fornisce un set completo di intercettori predefiniti e stack di intercettori comuni che ho elencato nella tabella seguente:

Interceptor Descrizione
alias Ciò consente ai parametri di avere alias di nome diversi tra le richieste degli utenti
casella di controllo Ciò aiuta nella gestione delle caselle di controllo aggiungendo un valore di parametro false per le caselle di controllo non selezionate
conversionError In questo modo le informazioni sugli errori derivanti dalla conversione di stringhe in tipi di parametri all'interno degli errori del campo dell'azione
createSession Questo crea implicitamente una sessione HTTP nel caso in cui non ne esista una
debug Ciò fornisce varie schermate di debug allo sviluppatore
execAndWait Questo trasferisce l'utente a una pagina di attesa intermedia quando l'azione viene eseguita in background
eccezione Questo mappa le eccezioni generate dall'azione verso un risultato
upload di file Ciò semplifica il caricamento dei file in Struts 2
i18n Questo aiuta a tenere traccia della locale specificata durante la sessione di un utente
registri Ciò fornisce all'utente una registrazione semplice generando l'output come nome dell'azione che viene eseguita
params Questo aiuta a impostare i parametri di richiesta sull'azione
preparare Viene utilizzato per eseguire il lavoro di pre-elaborazione
profilo Ciò consente semplici informazioni di profilazione per la registrazione delle azioni.
scopo Ciò memorizza e recupera lo stato dell'azione durante la sessione utente o l'ambito dell'applicazione
ServletConfig Ciò consente all'azione di accedere a varie informazioni basate su servlet
Timer Ciò fornisce semplici informazioni di profilazione
gettone Questo aiuta a controllare l'azione per un token valido al fine di evitare invii di moduli duplicati
validazione Ciò fornisce il supporto di convalida per varie azioni

4. Stack di valori

ValueStackin Struts2 è l'area di archiviazione in cui vengono archiviati i dati dell'intera applicazione per l'elaborazione di una richiesta. Questi dati sono conservati all'interno delActionContextoggetti che fanno uso diThreadLocalper recuperare i valori specifici per qualsiasi thread di richiesta client specifico.

5. OGNL

OGNL è l'acronimo di Object-Graph Navigation Language. È un potente linguaggio di espressione molto simile a JSP ed è utilizzato principalmente perriferimento e manipolazione dei dati presenti nel ValueStack. Inoltre, aiuta anche a trasferire e convertire il tipo di dati.

Simile a JSP, OGNL contiene un oggetto root all'interno del contesto dell'applicazione. Pertanto, è possibile fornire il riferimento dell'oggetto predefinito utilizzando la notazione markup che in questo caso è indicata utilizzando il simbolo cancelletto. Il framework Struts 2 implementa OGNL creando una mappa ActionContext. Di seguito ho elencato i componenti della mappa ActionContext:

  • Applicazione
  • Sessione
  • Stack di valori
  • Richiesta
  • Parametri
  • Attributi

Con questo, sei arrivato alle basi di Struts 2. Nella sezione successiva di questo articolo di Struts 2, salta direttamente nel codice e implementa tutto ciò che hai imparato fino ad ora.

come stampare il log dei commit di git

Demo tutorial di Struts 2

Qui creerò una semplice applicazione in cui dovrai inserire il tuo nome e l'applicazione ti accoglierà. Di seguito è riportato lo screenshot della struttura completa del progetto:

Come puoi vedere, in questo progetto creeremo 5 file che sono:

  1. HelloWorld.java
  2. index.jsp
  3. welcome.jsp
  4. web.xml
  5. struts.xml

Nota: prima di iniziare questo progetto assicurati di avere già Tomcat installato sul tuo sistema.

FASE I: Nel tuo Eclipse, vai su File> Nuovo> Progetto Web dinamico. Immettere il nome del progetto e fare clic su New Runtime.

FASE II: Qui devi selezionare la versione di Apache Tomcat che hai scaricato sul tuo sistema e fare clic su Avanti.

FASE III: Quindi, fai clic su Sfoglia e vai alla directory in cui sono state salvate le dipendenze di Tomcat. Una volta fatto clicca su Fine e procedi con la Creazione del Progetto.

FASE IV: Aggiungiamo ora i file jar di Struts che saranno necessari per la corretta esecuzione di questo progetto. Puoi scaricare i JAR da Qui . Una volta che sei pronto con i file JAR, copia i JAR e incollali in WebContent> WEB-INF> lib.

FASE V: Ora che siamo pronti con tutte le configurazioni, impostiamo i file di codice, iniziando con HelloWorld.java. Per questo, fai clic con il pulsante destro del mouse sul progetto> Nuovo> Classe. Compila il pacchetto e il nome della classe e fai clic su Fine.

FASE VI: Digita il codice seguente nel file HelloWorld.java file.

pacchetto com.edureka public class HelloWorld {private String name public String getName () {return name} public void setName (String name) {this.name = name} public String execute () {return 'success'}}

FASE VII: Quindi crea un nuovo file index.jsp file in WebContent e digita il codice seguente:

 

FASE VIII: Ora, crea di nuovo un nuovo file welcome.jsp file in WebContent e digita il codice seguente:

Benvenuto:

FASE IX: Ora vai su WebContent> WEB-INF e digita il codice seguente nel file web.xml file.

Struts2Demo index.html struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareandExecuteFilter struts2 / *

FASE X: Infine, in Risorse Java> src, crea struts.xml file

welcome.jsp

FASE XI: Ora vai al index.jsp pagina e fai clic destro su di essa. Selezionare Esegui sul server per eseguire l'applicazione.

Questo ci porta alla fine di questo articolo sul tutorial di Struts 2. Se vuoi saperne di più su Java puoi fare riferimento al nostro .

Ora che hai capito cos'è un tutorial di Struts 2, dai un'occhiata al da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Il corso di formazione e certificazione Java J2EE e SOA di Edureka è progettato per studenti e professionisti che desiderano diventare sviluppatori Java. Il corso è progettato per darti un vantaggio nella programmazione Java e formarti per concetti Java sia di base che avanzati insieme a vari framework Java come Hibernate e Spring.

Hai domande per noi? Per favore, menzionalo nella sezione commenti di questo articolo del 'Tutorial di Struts 2' e ti risponderemo il prima possibile.