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

Componenti e gestione delle richieste in Struts

Gli elementi principali del framework coinvolte nel ciclo di vita delle richieste
Gli elementi principali del framework coinvolte nel ciclo di vita delle richieste
Link copiato negli appunti

Struts, come ogni application framework, è un insieme di classi e interfacce che costituiscono lo scheletro per costruire le nostre Web application. In questa lezione iniziamo ad esaminare i componenti fondamentali e il ciclo di vita delle richieste.

Componente Descrizione
ActionServlet È la servlet di controllo che gestisce tutte le richieste dell'applicazione. Come tutte le servlet estende la classe javax.servlet.http.HttppServlet e quindi implementa tutti i metodi di lifecycle, incluso init(), doGet(), doPost() ed il destroy
struts-config.xml È il cuore di tutta l'applicazione. In questo file XML possiamo definire i vari elementi dell'applicazione e le loro associazioni. Viene letto in fase di start-up dell'applicazione dalla ActionServlet
Action Le Action sono le classi alle quali le ActionServlet delegal'elaborazione della richiesta
ActionMapping Contiene gli oggetti associati ad una Action nello struts-config come ad esempio gli ActionForward
ActionForm Sono considerati dei veri contenitori di dati. Fanno riferimento ad uno specifico form e vengono popolati automaticamente dal framework con i dati contenuti nella request HTTP
ActionForward Contengono i path ai quali la servlet di Struts inoltra il flusso in base alla logica dell'applicazione
Custom-tags Sono tag particolari forniti dal framework Struts per assolvere a molti dei più comuni compiti delle pagine JSP

Il ciclo di vita delle richieste

Vediamo questi componenti all'opera, esaminando il flusso elaborativo che viene innescato in Struts da una richiesta. Per farlo ci serviamo di un semplice schema:

Figura 1. Flusso Elaborativo di Struts
Flusso Elaborativo di Struts

Come abbiamo detto il controller ha la responsabilità di ricevere l'input da un client, invocare le operazioni necessarie alla logica applicativa e coordinare la vista da restituire al client. In altre parole contiene tutte la logica di business.

Il componente Model fornisce gli oggetti necessari alla logica di business per astrarre la persistenza dei dati. Infine le view rappresentano il modo di interagire dell'applicazione con l'utente sia in fase di richiesta che in fase di risposta.

  • I dati per la configurazione sono stati letti dallo struts-config.xml in fase di startup(0)
  • il Client invia una richiesta HTTP(1)
  • la richiesta quale viene ricevuta dalla servlet di Struts che provvede a popolare l'ActionForm associato alla richiesta con i dati della request(2) e l'ActionMapping associata alla richiesta(4)
  • L'Action Servlet delega l'elaborazione dati alla relativa Action(3) passandole in input gli oggetti con request e response HTTP, l'ActionForm e l'ActionMapping precedentemente valorizzati
  • La Action compie la logica di business e rende permanente lo stato dell'applicazione colloquiando con il Model(5)
  • Al termine dell'elaborazione restituisce alla ActionServlet un ActionForward(6) contenente il path della vista da fornire all'utente
  • La Action esegue il forward alla vista specifica nell'ActionForward(7)

Questo flusso di operazioni non è completo e in prima battuta sembra un po' confusionario, ma ci sarà utile come mappa, per avere presenti gli attori che vengono coinvolti nella elaborazione delle richieste in un'applicazione.

Ti consigliamo anche