In questo articolo viene descritto come creare lo skeleton di un’applicazione web basata sul pattern MVC (Model View Controller).
Utilizzato per separare e stratificare la logica di presentazione dei dati dalla logica di business, il pattern MVC è considerato una best-practice nello sviluppo di applicazioni web. Esistono molte tecnologie che forniscono framework e soluzioni basate sul pattern MVC (Ruby on Rails, Spring-MVC, Apache Tapestry, Perl Catalyst ecc.). In questo tutorial vengono utilizzate queste tecnologie:
– Apache Struts: il framework MVC di Apache Foundation
– Hibernate: il framework ORM per il livello di persistenza dei dati
– Apache Velocity: il framework di Apache per referenziare oggetti java a livello di presentazione (una valida alternativa alle pagine jsp, Java Server Pages)
Per completare questa guida viene fatto riferimento a precedenti articoli in cui è stato già trattato come configurare i framework Velocity e Hibernate nel contesto di un’applicazione web Struts-MVC. Viene creato un progetto web di esempio “sample-struts” utilizzando Eclipse IDE. Il livello di business dell’applicazione è rappresentato da un ipotetico cliente.
ROADMAP
STEP 1 – Creazione progetto web in Eclipse e configurazione di Struts-MVC e Velocity
STEP 2 – Configurazione minima di Hibernate nel progetto
STEP 3 – Configurazione avanzata di Hbernate, DAO-Factory pattern sullo strato di persistenza
STEP 4 – Java POJO e mapping Hibernate
STEP 5 – Funzionalità CRUD di base
STEP 1 – Creazione progetto web in Eclipse e configurazione di Struts-MVC e Velocity
Creare un nuovo progetto struts-blank in Eclipse e configurare il framework Velocity. Seguire l’articolo qui, al termine il browser dovrebbe visualizzare una pagina di test come questa:
Aggiungiamo una pagina index.vm in modo da mappare il base-context url http://localhost:8080/sample-struts con una pagina di benvenuto. La pagina contiene anche un link all’elenco clienti che verrà gestito più avanti.
– WebContent/pages/index.vm
<body> <p>WELCOME! This is a Struts-Hibernate-Velocity MVC demo</p> <br> <div> <a href="./customers.do?action=multiRetrieve">--> Go to Customer List</a> </div> </body>
Aggiorniamo il file WebContent/WEB-INF/web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>sample-struts</display-name> <welcome-file-list> <welcome-file>pages/index.vm</welcome-file> </welcome-file-list> <!-- Something other here ...--> </web-app>
Ecco un’estratto dell’output sul browser puntando su http://localhost:8080/sample-struts
STEP 2 – Configurazione minima di Hibernate nel progetto
Seguire questo articolo per completare una configurazione di base di Hibernate. Se non ci sono errori, ecco cosa appare allo startup del Tomcat.
STEP 3 – Configurazione avanzata di Hbernate, integrazione del design pattern DAO-Factory sullo strato di persistenza
Procediamo ora con l’integrazione del pattern DAO-Factory all’interno del progetto. Seguire questo articolo, il layout di progetto dovrebbe presentarsi così:
STEP 4 – Java POJO e mapping Hibernate
Continuiamo con l’implementazione dell’oggetto POJO relativo al cliente e al mapping ORM su Hibernate. Seguire questo articolo. Ecco come dovrebbe presentarsi il nuovo layout di progetto.
STEP 5 – Funzionalità CRUD di base
L’ultima parte di questa guida riguarda l’implementazione delle funzionalità di inserimento, modifica, visualizzazione e cancellazione di un cliente. Seguire questo articolo. Di seguito due screenshot sulla visualizzazione elenco clienti e aggiornamento cliente.
– Elenco clienti
– Visualizzazione/Aggiornamento singolo cliente