Definito il nostro modello User, vogliamo creare alcuni servizi su di esso. In particolare vogliamo dare la possibilità al sistema di creare nuovi utenti, eliminarli, aggiornarli e prelevarli tutti in una lista.
Per fare questo creeremo un’interfaccia UserService.java.
[codebox 1]
L’interfaccia sarà poi implementata dalla classe UserServiceImpl.java
[codebox 2]
Adesso creiamo una classe SampleAction richiamata da struts in modo da scrivere un minimo di logica di business.
Ora possiamo iniziare a costruire la nostra applicazione.
Per prima cosa implementiamo il modello. Il nostro dominio in questo caso è l’utente e sarà rappresentato dalla classe User.java. Questa classe rappresenterà il nostro utente nel sistema. Verranno quindi implementati i metodi setter/getter che modificheranno le proprietà id, username, password
User.java
[codebox 1]
A questo punto possiamo implementare gli oggetti DAO per l’accesso al DB.
Per fare questo implementiamo prima un’interfaccia generica che espone i metodi principali di accesso al DB (delete, getAll, getById,save) e poi una classe astratta che esegue un’implementazione di default della classe GenericDao. Ci preoccuperemo di implementare l’interfaccia in un secondo momento.
una volta configurato correttamente il file POM.xml possiamo iniziare la configurazione di tutti gli altri file necessari per il buon funzionamento della nostra applicazione web
Configurazione web.xml
sotto la cartella WEB-INF inserire il seguente file web.xml
In questo tutorial verrà spiegato come sviluppare una semplice web application utilizzando tecnologie come maven, jpa2, struts2, spring e mysql.
Ambiente di lavoro:
MySQL Server
Eclipse + da “Eclipse Market Place” “Maven Integration for Eclipse”
JDK 1.7
Creazione tabella mysql:
Prima di iniziare tutto il lavoro creiamo una tabella che chiameremo user
[codebox 1]
Creazione di un nuovo progetto Maven su Eclipse:
– creiamo un nuovo progetto “maven” su eclipse
– impostiamo maven-archetypes-webapp
– impostiamo grupId e artifactId come in figura
Struttura progetto e configurazione pom.xml
Una volta generato il progetto maven, Eclipse ci propone tutto il progetto come in figura
Il prossimo passo sarà quello di configurare il file pom.xml in modo da personalizzare il building e includere le tecnologie che ci interessano.
In particolare includiamo le dipendenze per: struts2, spring, mysql connector, servlet e jsp, hibernate, log4j e junit.
Dopo di che impostiamo anche il <build> in modo da utilizzare alcuni plugin tra cui il web server jetty.
POM.XML
[codebox 2]
Gestisci Consenso
Per fornire le migliori esperienze, utilizziamo tecnologie come i cookie per memorizzare e/o accedere alle informazioni del dispositivo. Il consenso a queste tecnologie ci permetterà di elaborare dati come il comportamento di navigazione o ID unici su questo sito. Non acconsentire o ritirare il consenso può influire negativamente su alcune caratteristiche e funzioni.
Funzionale
Sempre attivo
L'archiviazione tecnica o l'accesso sono strettamente necessari al fine legittimo di consentire l'uso di un servizio specifico esplicitamente richiesto dall'abbonato o dall'utente, o al solo scopo di effettuare la trasmissione di una comunicazione su una rete di comunicazione elettronica.
Preferenze
L'archiviazione tecnica o l'accesso sono necessari per lo scopo legittimo di memorizzare le preferenze che non sono richieste dall'abbonato o dall'utente.
Statistiche
L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici.L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici anonimi. Senza un mandato di comparizione, una conformità volontaria da parte del vostro Fornitore di Servizi Internet, o ulteriori registrazioni da parte di terzi, le informazioni memorizzate o recuperate per questo scopo da sole non possono di solito essere utilizzate per l'identificazione.
Marketing
L'archiviazione tecnica o l'accesso sono necessari per creare profili di utenti per inviare pubblicità, o per tracciare l'utente su un sito web o su diversi siti web per scopi di marketing simili.