
Prima di iniziare
Per prima cosa bisogna preparare un ambiente di lavoro adeguato, che consiste principalmente nel creare l’alberatura dei sorgenti e preparare il sistema di build. Come già visto in altri appuntamenti utilizzeremo Maven, che consente di avere diversi vantaggi:
- tutte le fasi del build sono automatizzate e, se si rispettano le convenzioni, non è necessario configurare alcunché;
- l’esecuzione dei test fa già parte del ciclo di build;
- la gestione delle dipendenze è molto efficace.
Come già visto un articolo precedente è possibile far creare lo scheletro del progetto a Maven tramite gli archetypes, ma anche fare tutto “a mano” non è poi così difficile.
Creiamo quindi la directory che conterrà il progetto e copiamo queste righe nel file pom.xml all’interno di questa directory:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>it.artera.springtut</groupId>
<artifactId>spring-3-tutorial</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>spring-3-tutorial</name>
<url>https://www.artera.net/it/blog/</url>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
In questo file di progetto non abbiamo volutamente incluso le dipendenze Spring ma solo quelle relative alle Servlet API e JSTL, in modo che si possa utilizzare per creare da zero le proprie web application.
Bisogna ora creare le directory per i sorgenti (java, web application, test):
src
+-- main
| +-- java
| +-- webapp
| +-- WEB-INF
+-- test
+-- java
Infine, occorre creare il file web.xml all’interno della directory src/webapp/WEB-INF, inserendo queste righe:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>Web application</display-name>
</web-app>
Consigliato a questo punto di eseguire un commit dei sorgenti per tenere traccia dei progressi fatti. Una volta fatto, eseguiamo il primo build:
mvn package
Chi utilizza Netbeans potrà già aprire il progetto, mentre chi utilizza Eclipse può creare automaticamente i file di progetto tramite il comando:
mvn eclipse:eclipse
Sviluppi
Queste istruzioni sono valide per creare una web application “nuda”, senza particolari librerie o configurazioni, pronta per essere installata su un servlet container compatibile con le Servlet API 2.5. Utilizzeremo questa base per diversi progetti e articoli, assicuriamoci quindi di tenere una copia di queste istruzioni a portata di mano per i nostri esperimenti!
Nei prossimi articoli faremo un’analisi dell’applicazione e vedremo come utilizzare Spring per la sua realizzazione.
AGGIORNAMENTO (7/4/2011)
Il file pom.xml dell’articolo in origine conteneva un errore: la dipendenza corretta da configurare è javax.servlet:servlet-api:2.5 e non javax:javaee-api:6.0-SNAPSHOT. Il file pom.xml corretto è quindi quello riportato qui sopra.





