SlideShare a Scribd company logo
Jakarta Struts Jacopo Giudici [email_address]
Obbiettivi Questa parte del corso introdurrà lo struts framework. Si imparerà con queste slide a sviluppare semplici applicazioni Web robuste e basate sul paradigma MVC (Model-View-Controller) utilizzando il Jakarta struts framework.
Cosa è struts? Struts è l’implementazione del pattern Model-View-Controller (MVC) per le JSP. struts è parte dell’Apache Jakarta project ed è open source. Lo struts framework è creato per applicazioni di qualsiasi dimensione.  Struts si trova all’indirizzo Web  http://struts.apache.org
MVC Pattern MODELLO incapsula lo stato della applicazione risponde alle richieste della VISTA CONTROLLER mappa le richieste dell'utente in azioni da effetuare sul modello seleziona una vista in base alle richieste dell'utente e all'esito della azione sul modello VISTA invia al controller le richieste dell'utente gestisce la presentazione del modello all'utente seleziona una vista richiesta utente modifica lo stato interroga il modello
Vantaggi nell’utilizzo di MVC L'utilizzo del pattern MVC offre molteplici vantaggi tra i quali una separazione tra i livelli di presentazione e di transazione; ció permette di cambiare il look and feel di un'applicazione senza ricompilare il codice del Modello o del Controller. In secondo luogo il tempo di sviluppo puó essere significativamente ridotto, perché i programmatori possono pensare alle transazioni, mentre i View programmers (HTML e JSP) si concentrano sull'interfaccia. L'ultimo beneficio è la separazione della logica di presentazione da quella di business che rende più facile mantenere e modificare un'applicazione Web struts-based.
Il funzionamento di struts JSP struts-config .xml Action Servlet Action Mapping Action Form Action Action Forward Business Objects JSP 1 2 3 4 4 4 5 6 7 7
Spiegazione (I) Il Client invia una richiesta http; La richiesta viene ricevuta dalla servlet di struts, che provvede a popolare  l'ActionForm  associato alla richiesta con i dati della request; Viene popolato l'ActionMapping associato alla richiesta. Tutti i dati sono stati letti dal file  struts-config.xml  in fase di start up.
Spiegazione (II) L'  ActionServlet  delega l'elaborazione dati alla relativa  Action   passandole in input request e response http, l'ActionForm e l'ActionMapping precedentemente valorizzati.  La Action si interfaccia con lo strato di business object.  Al termine dell'elaborazione la Action restituisce alla ActionServlet un  ActionForward  contenente il path della vista da fornire all'utente.  La Action esegue il forward alla vista specifica nell'ActionForward e la ActionServlet resituisce il controllo all’utente.
QUINDI… In struts, il  modello  è costituito da un database e dalle relative classi di interfaccia La  vista  è costituita da pagine JSP (potrebbero essere HTML ma senza la possibilità di usare i custom-tags) Il  controllore  è struts stesso che funziona tramite la ActionServlet e viene configurato da XML.
Prima applicazione Installare il JDK Installare Tomcat, JBoss, … Scaricare struts dal sito  http://struts.apache.org   Decomprimere il file .zip in una cartella Eseguire il deploy dell’applicazione struts-blank.war
I componenti di struts (I) Struts, come ogni application framework, è un insieme di classi e interfacce che costituiscono lo scheletro per costruire le nostre Web application. I componenti base su cui si appoggia sono: ActionServlet : È la servlet di controllo che gestisce tutte le richieste dell'applicazione. Come tutte le servlet estende la classe javax.servlet.http.HttppServlet e che quindi implementa tutti i metodi di lifecycle, incluso init(), doGet(), doPost() ed il destroy.  struts-config.xml : È il cuore di tutta l'applicazione. In tale file XML si vanno a settare ed a definire i vari elementi della nostra applicazione e le loro associazioni. Tale file viene letto in fase di start-up dell'applicazione dalla ActionServlet.
I componenti di struts (II) 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.
L’applicazione blank Una volta rinominato e copiato il file  struts-blank-1.x.x.war  nella cartella  webapps , tomcat ne eseguirà automaticamente il deployment Verrà creata una cartella con il nome dato al file  .war  (Web ARchive) La pagina principale dell’applicazione è la seguente:
Pagina index di struts-blank
Componenti dell’applicazione blank I componenti principali dell’applicazione struts-blank sono: il file  WEB-INF/web.xml il file  WEB-INF/struts-config.xml i file .jsp ( index.jsp, pages/Welcome.jsp ) il file  WEB-INF/classes/message.properties le api di struts (in  WEB-INF/lib )
File WEB-INF/web.xml È un file web.xml standard Definisce come configurazione di struts il file  /WEB-INF/struts-config.xml Dice di passare alla servlet  org.apache.struts.action.ActionServlet   tutti i file che abbiano estensione  .do Definisce come file di partenza  index.jsp
WEB-INF/struts-config.xml È il file di configurazione della servlet  org.apache.struts.action.ActionServlet   Definisce il comportamento delle varie applicazioni struts, ad es: <forward name=&quot;welcome&quot; path=&quot;/Welcome.do&quot;/> Definisce il comportamento delle azioni: <action path=&quot;/Welcome“ forward=&quot;/pages/Welcome.jsp&quot;/>
index.jsp e pages/Welcome.jsp Il file index.jsp utilizza una tag library per struts. Il file Welcome.jsp utilizza le tre tag library principali di struts: <%@  taglib  uri = &quot;http://struts.apache.org/tags-bean&quot;  prefix = &quot;bean&quot;  %> <%@  taglib  uri = &quot;http://struts.apache.org/tags-html&quot;  prefix = &quot;html&quot;  %> <%@  taglib  uri = &quot;http://struts.apache.org/tags-logic&quot;  prefix = &quot;logic&quot;  %> Usa dei costrutti particolari per recuperare delle stringhe di testo: < bean:message  key = &quot;welcome.title&quot; />

More Related Content

PDF
Corso completo di web marketing (1108 slides), di Roberto Ghislandi con contr...
PPTX
02 - La Stratégie de Spécialisation Intelligente : Vecteur de Croissance des ...
PPT
01 Le Concept de la Stratégie de Spécialisation Intelligente
PDF
Jaws multimedia class
PPT
10 the best
PDF
An Exploratory Study of the Motivations and Satisfactions on Mobile Web Browsing
PPTX
05 - TECHNOLOGIES POUR LA SANTE VERS UN NOUVEAU MODELE ECONOMIQUE LA SPECIALI...
PPTX
Cross-border learning with eTwinning
Corso completo di web marketing (1108 slides), di Roberto Ghislandi con contr...
02 - La Stratégie de Spécialisation Intelligente : Vecteur de Croissance des ...
01 Le Concept de la Stratégie de Spécialisation Intelligente
Jaws multimedia class
10 the best
An Exploratory Study of the Motivations and Satisfactions on Mobile Web Browsing
05 - TECHNOLOGIES POUR LA SANTE VERS UN NOUVEAU MODELE ECONOMIQUE LA SPECIALI...
Cross-border learning with eTwinning

Viewers also liked (20)

PPTX
Adventure in italy
PDF
Activity streams Lightning Talk, DjangoCon 2011, Day3
PPTX
Demystifying share point site definitions SharePoint 2007
PPTX
Radina the school
PDF
The Measure
PPT
PDF
Jakarta Founder institute - StartUp Ideation
PPT
P6.C Explaining Refraction
PDF
Hack the Hood: Transforming Youth & Local Small Business through Project-Base...
PPTX
Designcorpsinternet
PPTX
Journey to poland
PDF
تحميل مشروع ميـــزانيـــة بلديــــة المـروج لسنـة 2016
PPT
Feb 18 what we learned kcic
PPT
Questionnaires 2nd part
PDF
Journées de l’Europe, 24-26 mai 2016
PDF
Using the CMMI-SVC to Transform an Organization into a High-Functioning, Cust...
PDF
Kcic boot camp oct 2011 idea to implementation 2011
PPTX
Do italia sas samolet
DOC
Buku rekod
PDF
Design proposal : pratical toolbox on web usability
Adventure in italy
Activity streams Lightning Talk, DjangoCon 2011, Day3
Demystifying share point site definitions SharePoint 2007
Radina the school
The Measure
Jakarta Founder institute - StartUp Ideation
P6.C Explaining Refraction
Hack the Hood: Transforming Youth & Local Small Business through Project-Base...
Designcorpsinternet
Journey to poland
تحميل مشروع ميـــزانيـــة بلديــــة المـروج لسنـة 2016
Feb 18 what we learned kcic
Questionnaires 2nd part
Journées de l’Europe, 24-26 mai 2016
Using the CMMI-SVC to Transform an Organization into a High-Functioning, Cust...
Kcic boot camp oct 2011 idea to implementation 2011
Do italia sas samolet
Buku rekod
Design proposal : pratical toolbox on web usability
Ad

Similar to Jakarta Struts (20)

PDF
Introduzione a Struts
ODP
Many Designs Elements
PPT
Struts - Overview, Installazione e Setup
PPT
02 Struts Actions3016
PPT
02 Struts Actions3016
PPT
02 Struts Actions
PDF
Progetto SOD Davide Sito
PDF
Dependency injection questa sconosciuta
PDF
MVC and Struts 1
PPT
Java lezione 14
PPTX
Web Api – The HTTP Way
PDF
Laravel Framework PHP
PDF
Struttin' on, novità in casa Struts
PDF
AreaMVC: un'architettura software basata sulla semplicità
PPTX
Novità di Asp.Net 4.0
PPTX
Asp.net 4 Community Tour VS2010
KEY
Notes for an Enterprise Scheduling Distributed Application
PDF
SPRING - MAVEN - REST API (ITA - Luglio 2017)
PPT
Java lezione 17
PPTX
Asp.Net MVC 2 :: VS 2010 Community Tour
Introduzione a Struts
Many Designs Elements
Struts - Overview, Installazione e Setup
02 Struts Actions3016
02 Struts Actions3016
02 Struts Actions
Progetto SOD Davide Sito
Dependency injection questa sconosciuta
MVC and Struts 1
Java lezione 14
Web Api – The HTTP Way
Laravel Framework PHP
Struttin' on, novità in casa Struts
AreaMVC: un'architettura software basata sulla semplicità
Novità di Asp.Net 4.0
Asp.net 4 Community Tour VS2010
Notes for an Enterprise Scheduling Distributed Application
SPRING - MAVEN - REST API (ITA - Luglio 2017)
Java lezione 17
Asp.Net MVC 2 :: VS 2010 Community Tour
Ad

Jakarta Struts

  • 1. Jakarta Struts Jacopo Giudici [email_address]
  • 2. Obbiettivi Questa parte del corso introdurrà lo struts framework. Si imparerà con queste slide a sviluppare semplici applicazioni Web robuste e basate sul paradigma MVC (Model-View-Controller) utilizzando il Jakarta struts framework.
  • 3. Cosa è struts? Struts è l’implementazione del pattern Model-View-Controller (MVC) per le JSP. struts è parte dell’Apache Jakarta project ed è open source. Lo struts framework è creato per applicazioni di qualsiasi dimensione. Struts si trova all’indirizzo Web http://struts.apache.org
  • 4. MVC Pattern MODELLO incapsula lo stato della applicazione risponde alle richieste della VISTA CONTROLLER mappa le richieste dell'utente in azioni da effetuare sul modello seleziona una vista in base alle richieste dell'utente e all'esito della azione sul modello VISTA invia al controller le richieste dell'utente gestisce la presentazione del modello all'utente seleziona una vista richiesta utente modifica lo stato interroga il modello
  • 5. Vantaggi nell’utilizzo di MVC L'utilizzo del pattern MVC offre molteplici vantaggi tra i quali una separazione tra i livelli di presentazione e di transazione; ció permette di cambiare il look and feel di un'applicazione senza ricompilare il codice del Modello o del Controller. In secondo luogo il tempo di sviluppo puó essere significativamente ridotto, perché i programmatori possono pensare alle transazioni, mentre i View programmers (HTML e JSP) si concentrano sull'interfaccia. L'ultimo beneficio è la separazione della logica di presentazione da quella di business che rende più facile mantenere e modificare un'applicazione Web struts-based.
  • 6. Il funzionamento di struts JSP struts-config .xml Action Servlet Action Mapping Action Form Action Action Forward Business Objects JSP 1 2 3 4 4 4 5 6 7 7
  • 7. Spiegazione (I) Il Client invia una richiesta http; La richiesta viene ricevuta dalla servlet di struts, che provvede a popolare l'ActionForm associato alla richiesta con i dati della request; Viene popolato l'ActionMapping associato alla richiesta. Tutti i dati sono stati letti dal file struts-config.xml in fase di start up.
  • 8. Spiegazione (II) L' ActionServlet delega l'elaborazione dati alla relativa Action passandole in input request e response http, l'ActionForm e l'ActionMapping precedentemente valorizzati. La Action si interfaccia con lo strato di business object. Al termine dell'elaborazione la Action restituisce alla ActionServlet un ActionForward contenente il path della vista da fornire all'utente. La Action esegue il forward alla vista specifica nell'ActionForward e la ActionServlet resituisce il controllo all’utente.
  • 9. QUINDI… In struts, il modello è costituito da un database e dalle relative classi di interfaccia La vista è costituita da pagine JSP (potrebbero essere HTML ma senza la possibilità di usare i custom-tags) Il controllore è struts stesso che funziona tramite la ActionServlet e viene configurato da XML.
  • 10. Prima applicazione Installare il JDK Installare Tomcat, JBoss, … Scaricare struts dal sito http://struts.apache.org Decomprimere il file .zip in una cartella Eseguire il deploy dell’applicazione struts-blank.war
  • 11. I componenti di struts (I) Struts, come ogni application framework, è un insieme di classi e interfacce che costituiscono lo scheletro per costruire le nostre Web application. I componenti base su cui si appoggia sono: ActionServlet : È la servlet di controllo che gestisce tutte le richieste dell'applicazione. Come tutte le servlet estende la classe javax.servlet.http.HttppServlet e che quindi implementa tutti i metodi di lifecycle, incluso init(), doGet(), doPost() ed il destroy. struts-config.xml : È il cuore di tutta l'applicazione. In tale file XML si vanno a settare ed a definire i vari elementi della nostra applicazione e le loro associazioni. Tale file viene letto in fase di start-up dell'applicazione dalla ActionServlet.
  • 12. I componenti di struts (II) 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.
  • 13. L’applicazione blank Una volta rinominato e copiato il file struts-blank-1.x.x.war nella cartella webapps , tomcat ne eseguirà automaticamente il deployment Verrà creata una cartella con il nome dato al file .war (Web ARchive) La pagina principale dell’applicazione è la seguente:
  • 14. Pagina index di struts-blank
  • 15. Componenti dell’applicazione blank I componenti principali dell’applicazione struts-blank sono: il file WEB-INF/web.xml il file WEB-INF/struts-config.xml i file .jsp ( index.jsp, pages/Welcome.jsp ) il file WEB-INF/classes/message.properties le api di struts (in WEB-INF/lib )
  • 16. File WEB-INF/web.xml È un file web.xml standard Definisce come configurazione di struts il file /WEB-INF/struts-config.xml Dice di passare alla servlet org.apache.struts.action.ActionServlet tutti i file che abbiano estensione .do Definisce come file di partenza index.jsp
  • 17. WEB-INF/struts-config.xml È il file di configurazione della servlet org.apache.struts.action.ActionServlet Definisce il comportamento delle varie applicazioni struts, ad es: <forward name=&quot;welcome&quot; path=&quot;/Welcome.do&quot;/> Definisce il comportamento delle azioni: <action path=&quot;/Welcome“ forward=&quot;/pages/Welcome.jsp&quot;/>
  • 18. index.jsp e pages/Welcome.jsp Il file index.jsp utilizza una tag library per struts. Il file Welcome.jsp utilizza le tre tag library principali di struts: <%@ taglib uri = &quot;http://struts.apache.org/tags-bean&quot; prefix = &quot;bean&quot; %> <%@ taglib uri = &quot;http://struts.apache.org/tags-html&quot; prefix = &quot;html&quot; %> <%@ taglib uri = &quot;http://struts.apache.org/tags-logic&quot; prefix = &quot;logic&quot; %> Usa dei costrutti particolari per recuperare delle stringhe di testo: < bean:message key = &quot;welcome.title&quot; />