Creare una Web Application con Maven

Il presente articolo mostra come creare un progetto di tipo Dynamic Web Project utilizzando Maven versione 3 o superiore.

Generazione del Progetto

Il primo passo del set-up dell’applicazione consiste nell’esecuzione del comando maven generate. Per farlo aprire una shell di comando e posizionarsi nella cartella in cui si intende creare il progetto. Quindi utilizzare la seguente istruzione, valorizzando opportunamente le proprietà artifactId e groupId:

Ad esempio:

Quando Maven ha terminato il suo lavoro, aprire Eclipse, dove sarà stato precedentemente configurato Maven, ed importare il progetto (File -> Import -> Maven-> Existing Maven Project). Noterete immediatamente che Maven ha generato un progetto del tipo Dynamic Web Module ma con la tipica struttura di un progetto Maven (conforme al suo Standard Directory Layout).

A questo punto apriamo il file web.xml collocato nella cartella src/main/webapp/WEB-INF che dovrebbe apparire così:

Secondo la direttiva DOCTYPE il progetto creato è un Dynamic Web Module versione 2.3 e se non volete perdere ore cercando di comprendere perché le vostre JSP non interpretano le espressioni EL vi consiglio vivamente di aggiornare la versione almeno alla 2.5. In alternativa dovrete inserire in tutte le vostre JSP la direttiva:

In questo post abbiamo preferito la prima soluzione quindi il nostro file web.xml è diventato:

Completare la procedura aggiornando anche la versione nel Project Facets. Se Eclipse ve lo impedisce potete disabilitare la facet Dynamic Web Module e quindi eseguire Maven->Update Project e Maven provvederà a abilitare la facet nella versione corretta.

Aggiornamento del POM

Siamo finalmente pronti per configurare il nostro progetto attraverso l’aggiornamento del file POM di Maven collocato nella root del progetto. In sintesi si tratta di è un file XML che contiene tutte le informazioni di configurazione del progetto ed in particolare le sue dipendenze ed i dettagli per la compilazione e l’impacchettamento dello stesso.

Servlet API e JSP

Aprire il pom.xml ed aggiungere le due dipendenze necessarie all’utilizzo delle JSP nella sezione dependencies:

Queste aggiungeranno al progetto le Servlet API e le JSTL (versione 1.2). Quest’ultima è una libreria di tag basata su JSP (JSTL sta per JSP Standard Tag Library) che offre funzionalità per il controllo del flusso, la formattazione di date e numeri, l’internazionalizzazione e diverse funzioni EL di utilità.

Tomcat

Se intendete utilizzare Tomcat (versione 7.0.70) come servlet container potete inserire la seguente dependency al posto delle Servlet API.

Compilazione e Deploy

Inserire nel POM i plugin maven-compiler-plugin e tomcat7-maven-plugin, il primo per la compilazione del codice, il secondo per il deploy a caldo su Tomcat 7. Inserire quindi nella sezione plugins il seguente XML:

Si noti che il plugin tomcat7-maven-plugin necessita di una ulteriore configurazione di Tomcat e Maven. Innanzitutto aprite il file tomcat-users.xml nella directory conf di Tomcat 7 e configurate un utente per eseguire script nella sua consolle come mostrato di seguito:

Quindi aprite il file settings.xml di Maven, presente nella cartella .m2 (quella dove sono presenti tutte le dipendenze scaricate dal framework) e definite il vostro server di deploy Tomcat, inserendo le credenziali definite sopra. Notate che il server id tomcat7 è lo stesso definito nel plugin del POM.

© 2018 Java Boss - Theme by HappyThemes